Php 使用Xdebug配置cachegrind时出现问题

Php 使用Xdebug配置cachegrind时出现问题,php,linux,xdebug,cachegrind,Php,Linux,Xdebug,Cachegrind,我正在尝试将Xdebug配置为cachegrind,但无法启用探查器功能以转储已执行的网页 我正在使用(还有一些类似的设置),但它似乎不起作用 我在我的两台Linux机器(Ubuntu和Fedora)上都试过了。Xdebug可以很好地进行调试,我可以为应用程序启动valgrind--tool=cachegrind,因此两者都应该正确安装 我在php.ini中激活和停用profiler_enable和profiler_enable_触发器选项,并重新启动服务器,运气不好。更改了输出目录,因为我认为

我正在尝试将Xdebug配置为cachegrind,但无法启用探查器功能以转储已执行的网页

我正在使用(还有一些类似的设置),但它似乎不起作用

我在我的两台Linux机器(Ubuntu和Fedora)上都试过了。Xdebug可以很好地进行调试,我可以为应用程序启动
valgrind--tool=cachegrind
,因此两者都应该正确安装

我在php.ini中激活和停用profiler_enable和profiler_enable_触发器选项,并重新启动服务器,运气不好。更改了输出目录,因为我认为它可能与权限有关。在URL中使用
?XDEBUG_PROFILER=1
标志作为参数似乎也没有帮助


与cachegrind配置相关的任何其他线索?

以下基本xdebug.ini应该可以实现这一点:

; check that the path is ok for you
zend_extension=/usr/lib/php5/20090626/xdebug.so
xdebug.profiler_enable=1
xdebug.profiler_output_name = cachegring.out.%s
xdebug.profiler_output_dir = /tmp
请注意,它为每个请求启用探查器,这是一个重要的性能问题。但是,您应该先测试这是否有效。如果您看到它可以工作,请根据默认设置禁用它


关于valgrind

请注意,您试图做的事情是不可能的。xdebug探查器的设计目的不是与valgrind一起工作/连接到valgrind。它只使用与valgrind相同的输出格式。因此,格式与示例相同:

valgrind --tool=cachegrind --cachegrind-out-file=test.cachegrind ls -al

通常,您将使用GUI程序分析cachegrind文件,如linux上的
kcachegrind
,windows上的
wincachegrind

是否不显示日志?如果是的话,
phpinfo()说说你的xdebug设置没有错误日志提示,设置应该很好。你可以发布你的xdebug.ini吗?用所有xdebug值更新粘贴箱-Hm,(1)它是
?xdebug_PROFILE=1
,而不是profileR,(2)如果仍然不起作用,是否无条件地使用
xdebug.profileR\u enable=1
,然后重新开始工作?谢谢。Xdebug路径很好,工作顺利-我已经使用Xdebug的调试功能两年了,我只是因为某些原因无法将其连接到cachegrind-可能是权限,也可能是不正确的cachegrind路径,或者其他原因。我不确定是否可能执行您尝试的操作。我通常使用
kcachegrind
分析cachegrind文件。您现在在/tmp中看到cachegrind文件了吗?在上面的线程中进行了评论-结果表明这是valgrind的安装问题,重新安装使其工作。我在这里对所有建议进行投票,因为它们都确认了我的方法,这就是我重新开始设置的原因。谢谢@马里奥普舍夫似乎我错过了什么。我对答案中的valgrind部分有错吗?