php – 从命令行进行xdebug分析不起作用
发布时间:2020-12-13 13:21:19 所属栏目:PHP教程 来源:网络整理
导读:当我尝试运行xdebug分析(从命令行)时,脚本立即死亡.我没有收到任何反馈. (如果我在关闭xdebug profiling的情况下运行脚本,那么脚本就会像我期望的那样执行.)我在Centos 6中运行php 5.4.13. 我尝试了两种不同的方法来启用分析:编辑php.ini,并在执行脚本时使
当我尝试运行xdebug分析(从命令行)时,脚本立即死亡.我没有收到任何反馈. (如果我在关闭xdebug profiling的情况下运行脚本,那么脚本就会像我期望的那样执行.)我在Centos 6中运行php 5.4.13.
我尝试了两种不同的方法来启用分析:编辑php.ini,并在执行脚本时使用-d标志. 我的php.ini的相关部分如下所示: [xdebug] zend_extension="/usr/lib64/php/modules/xdebug.so" xdebug.remote_enable = 1 xdebug.default_enable = 0 xdebug.profiler_output_dir = "/tmp/profiling" # xdebug.profiler_enable = 1 # I uncomment this line to try to profile my script 我使用这两个命令之一调用脚本(并确保ini文件行在适当时注释掉(或不注释)). $> /usr/bin/php scripts/daemon/PostProcess.php -c 4 要么 $> /usr/bin/php -d xdebug.profiler_enable=1 scripts/daemon/PostProcess.php -c 4 我确信该设置正在被正确解释. $> php -d xdebug.profiler_enable=1 --info | grep profile | less xdebug.profiler_aggregate => Off => Off xdebug.profiler_append => Off => Off xdebug.profiler_enable => On => On xdebug.profiler_enable_trigger => Off => Off xdebug.profiler_output_dir => /tmp/profiling => /tmp/profiling xdebug.profiler_output_name => cachegrind.out.%p => cachegrind.out.%p xdebug可以正常进行调试.以下命令工作正常: $> /usr/bin/php -d xdebug.remote_autostart=On -d xdebug.remote_host=A.B.C.D scripts/daemon/PostProcess.php -c 4 有任何想法吗?
尝试使用-ddisplay_errors = 1运行脚本以强制显示PHP错误.例:
/usr/bin/php -ddisplay_errors=1 -d xdebug.profiler_enable=1 scripts/daemon/PostProcess.php -c 4 通常,当我遇到您描述的问题时,我的代码中出现错误,默认情况下display_errors处于关闭状态,以防止在错误消息中泄露敏感详细信息.因此,隐藏带有错误的消息.看看这是否为您提供了纠正问题的信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |