PHP中的XDebug分析 - 无法获得输出

时间:2010-08-10 15:16:07

标签: php profiling xdebug

我有一个奇怪的问题。我已经设置了XDebug来分析我们正在处理的PHP应用程序。我相信一切都设置正确但我运行时没有输出。我的配置如下所示:

zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so
[XDebug]
xdebug.profiler_append = 1
xdebug.profiler_enable = 0 (I've tried this both on and off)
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "/debug/xdebug/profiler_output_dir"
xdebug.profiler_output_name = "cachegrind.out.%p"

所有phpinfo()设置都应该匹配。输出目录的权限现在设置为777,所以我可以测试它。我也试过使用public_html下的目录,但没有运气。我用来启动探查器的URL是:

http://example.com/my_page.php?XDEBUG_PROFILE
-or-
http://example.com/my_page.php?XDEBUG_PROFILE=1

两者都不起作用。任何帮助将不胜感激!!这个应用程序有5-6秒的页面加载时间,我无法通过代码跟踪它。

5 个答案:

答案 0 :(得分:12)

某些发行版上的/ tmp文件夹也存在问题,我无法在centos 7上获得输出,然后我发现this

所以,我已经设置了

  

xdebug.profiler_output_dir = /家庭/日尔卡/简档

设置777,现在可以。

答案 1 :(得分:11)

注释掉xdebug.profiler_output_dirxdebug.profiler_output_name,看看您是否可以在/tmp/下找到输出。

答案 2 :(得分:6)

此问题的另一个可能原因是profiler_output_dir文件夹的权限。

向群组和所有者添加写入权限为我解决了问题:

sudo chmod go+w /home/dimitris/cachegrind/

答案 3 :(得分:1)

另外,请注意访问限制,例如访问权限,组,所有者和SElinux ......

答案 4 :(得分:1)

需要完整路径,而不仅仅是路径:

xdebug.profiler_append=1
xdebug.profiler_output_dir ="/home/username/debug/xdebug/profiler_output_dir"
xdebug.profiler_output_name = "cachegrind.out.%s.%H"