是的,自从看Rasmus Lerdorf's talk on PHP performance以来我一直想要介绍我正在研究的ERP /会计应用程序,尤其是因为我知道它存在性能问题,分析应该突出显示我的主要问题。调查。
已下载xdebug
并在我的php.ini
文件中添加以下几行:
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
xdebug.profiler_output_dir="/home/me/xdebug/profiles/"
xdebug.ptofiler_enable_trigger=On
有了这个,我只是将我的浏览器作为我的应用程序,在查询字符串中使用&XDEBUG_PROFILE
并开始分析。问题是我用KCacheGrind查看的输出不包括我的应用程序中的任何函数,并且实体之间没有流。
当页面执行时,我将配置文件复制(在终端中)到一个单独的文件,以在整个配置文件中捕获它的状态。我将这些中的每一个分别加载到KCacheGrind中,它们都显示了应用程序的完整配置文件,除了最后一个之外都是什么?
有谁可以告诉我为什么没有输出完整的个人资料?看看我复制的文件的文件大小,看起来前几个文件相当大,但是最后一个文件显然更小,xdebug
在捕获它们后会弄乱它们吗?
非常感谢: - )
修改
只是为了帮助,这就是我在打开其中一个复制的配置文件时看到的(在配置文件完成之前),我相信还有更多内容。
这是我从最终的配置文件,没有关系,只是一堆PHP函数得到的。我希望看到所有完整的个人资料。
编辑2
所以在这里,我一直在运行ls -als
命令,最后一个列表是缩减版本,前一个是文件处于完整大小的最后一个ls
。
我无法上传大文件,因为它超过300万行,如果它有帮助,这里是xdebug
php信息部分。
答案 0 :(得分:2)
是的,我自己实际上已经解决了这个问题,我将此选项添加到我的php.ini
文件中:
xdebug.profiler_append=1
这会将数据附加到相同的文件名(如果存在),因此我需要确保文件名选项设置正确,但我认为现在已经解决了我的问题。
感谢那些回答: - )