如何为命令行PHP脚本触发XDebug探查器?

XDebug 提供了一个配置指令,该指令允许在通过 HTTP 调用脚本时通过传递 GET 或 POST 参数“XDEBUG_PROFILE”来激活性能分析。如果您不希望分析所有脚本,而只想分析少数特殊情况,而不必始终更改PHP配置,这将非常方便。xdebug.profiler_enable_trigger

有没有办法为命令行PHP程序实现相同的行为?我试图将 作为命令行参数传递,但它不起作用。XDEBUG_PROFILE

一般来说,分析命令行PHP工作得很好,但我希望具有与浏览器和HTTP服务器相同的每次调用灵活性。


答案 1

您可以使用标志传递 INI 设置:。-dphp -d xdebug.profiler_enable=On script.php


答案 2

我通过以下方式在 Ubuntu/Netbeans 上完成了这项工作:

  • 将 xdebug 配置行从 /etc/php5/apache2/php.ini 文件复制到 /etc/php5/cli/php.ini
  • 使用调试会话的名称设置一个环境变量(您可以在开始调试时从 netbeans 启动的页面 url 中的查询字符串中获取此变量),命令为:导出XDEBUG_CONFIG=“idekey=netbeans-xdebug”

然后,它只是在netbeans中开始调试并在命令行中执行“php myscript.php”的情况。


推荐