sel*_*oup 189 php configuration command-line profiling xdebug
XDebug提供配置指令"xdebug.profiler_enable_trigger",允许通过在通过HTTP调用脚本时传递GET或POST参数"XDEBUG_PROFILE"来激活分析.如果您不想对所有脚本进行性能分析,但仅针对少数特殊情况而不总是更改PHP配置,则这很方便.
有没有办法实现命令行PHP程序的相同行为?我试图将"XDEBUG_PROFILE"作为命令行参数传递,但它不起作用.
通常,分析命令行PHP运行良好,但我希望具有与浏览器和HTTP服务器相同的每次调用灵活性.
有什么建议?
jou*_*jou 250
您可以使用-d标志传递INI设置:php -d xdebug.profiler_enable=On script.php.
And*_*cox 43
我通过以下方式在Ubuntu/Netbeans上工作:
然后它只是在netbeans中开始调试并在命令行中执行"php myscript.php"的情况.
oli*_*adj 32
使用远程网络服务器上的PhpStorm我使用此命令:
XDEBUG_CONFIG="idekey=PHPSTORM" PHP_IDE_CONFIG="serverName=server_name" php -dxdebug.remote_host=`echo $SSH_CLIENT | cut -d "=" -f 2 | awk '{print $1}'` myscript.php
Run Code Online (Sandbox Code Playgroud)
其中server_name代表PhpStorm项目conifuguration中服务器的名称
out*_*tis 14
如Xdebug远程调试页面所述,也可以通过XDEBUG_CONFIG包含"profile_enable = 1"指令通过环境变量启用性能分析:
XDEBUG_CONFIG="profiler_enable=1" php ...
Run Code Online (Sandbox Code Playgroud)
Jos*_*nce 11
在VM上开发时,使用Netbeans的类似但不同的过程.
需要传入远程启用标志,自动启动标志,ide标志和远程主机的名称.
php -dxdebug.remote_enable=1 -dxdebug.remote_autostart=On -dxdebug.idekey=netbeans-xdebug -dxdebug.remote_host=NAME.OF.HOST script.php
Run Code Online (Sandbox Code Playgroud)
XDEBUG_MODE 现在,使用环境变量可以轻松地为单个脚本启用 Xdebug :
XDEBUG_MODE=profile php script_to_be_profiled.php
Run Code Online (Sandbox Code Playgroud)