我的问题是基于这篇文章的。
如何通过Xdubug2生成有关PHP代码的分析数据,然后将其放到像KCacheGrind?这样的应用程序中
我已经在我的Ubuntu中成功地使用了Xdebug,因为它在浏览器中突出显示了我的错误消息。但是,我还没有找到任何像xdebug这样的终端工具。
我希望有这样的PHP代码的可视化视图

发布于 2009-08-19 18:35:09
将这一行添加到php.ini中
xdebug.profiler_enable =1
然后,如果您碰巧通过一个the服务器运行PHP,则需要重新启动该the服务器,否则将不会获得conf更改。
如果您正在通过cli运行PHP,那么当然不需要重新启动。
现在,当您运行PHP脚本时,将在xdebug.profiler_output_dir php.ini设置指定的目录中创建一个php.ini文件。默认情况下,它是/tmp。
该文件是kcache差制能够加载的文件。
还有其他方法来调用此配置文件生成,您可以在启用上了解它们。
发布于 2009-08-18 20:06:12
看看WebGrind (http://code.google.com/p/webgrind/)
发布于 2009-08-19 00:22:36
我遇到了类似的情况,我只能访问终端,而不能在视觉环境上进行测试。更糟的是,我用的是窗户机和肉酱。
可用的解决方案如下
对我来说,答案是将缓存磨文件放在本地windows机器上,并使用WinCachegrind查看它们。您可以将它们SCP到您的linux盒上,并对文件运行KCacheGrind。这样做的缺点是,您可能没有相同的文件结构,因此您将无法查看源代码。如果您在本地机器上也有源代码,或者可以在那里找到它,您也可以修复这个问题。在vim (或其他编辑器)中打开cache研文件,并在路径上进行全局搜索和替换,将它们更改为本地机器上正确的源路径。
我希望这就是你要找的。
编辑以解决评论:
如果您正在努力获取一个回调文件,则会有一些不同。为此,您需要在Linux中运行(我认为您是这样的),并且有可使用的回调程序和val差程序。这里最后要假设的是,您将PHP作为Apache运行,而不是以其他方式运行。对apache的启动使用Call研工具,然后在浏览器中运行请求。这不仅会给您提供有关php调用树的详细信息,而且还会给您提供Apache中许多可能会带来麻烦的信息。
下面是一个示例
sudo callgrind --dump-instr=yes --trace-jump=yes -v /usr/sbin/httpd -X-X将在调试模式下只使用一个线程启动apache。从这里开始,打开一个web浏览器并点击您想要的php脚本。然后回去关机apache。这也应该结束回调解析。
如果您不需要apache或web浏览器,则只需使用php命令即可尝试运行回调。
sudo callgrind --dump-instr=yes --trace-jump=yes -v /usr/sbin/php my_php_script.php这应该会给出相同的结果,但没有所有apache的东西。
https://stackoverflow.com/questions/1284346
复制相似问题