gpt4 book ai didi

php - 从命令行进行 xdebug 分析不起作用

转载 作者:可可西里 更新时间:2023-11-01 12:39:50 26 4
gpt4 key购买 nike

当我尝试运行 xdebug 分析(从命令行)时,脚本立即终止。我没有收到任何反馈。 (如果我在关闭 xdebug 分析的情况下运行脚本,那么脚本的执行完全符合我的预期。)我在 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 处于关闭状态,以防止在错误消息中可能泄露敏感细节。因此,带有错误的消息被隐藏了。查看这是否为您提供了更正问题的信息。

关于php - 从命令行进行 xdebug 分析不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25068919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com