我有一个奇怪的问题。我已经设置了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秒的页面加载时间,我无法通过代码跟踪它。
答案 0 :(得分:12)
某些发行版上的/ tmp文件夹也存在问题,我无法在centos 7上获得输出,然后我发现this
所以,我已经设置了
xdebug.profiler_output_dir = /家庭/日尔卡/简档
设置777,现在可以。
答案 1 :(得分:11)
注释掉xdebug.profiler_output_dir
和xdebug.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"