分析PHP代码

Ada*_*ess 34 php performance profiling

我想找到一种方法来确定PHP中的每个函数以及PHP中的每个文件运行的时间.我有一个旧的遗留PHP应用程序,我正试图找到"粗糙点",所以我想找到客观上需要很长时间加载的例程和页面.

是否有任何预制工具可以实现这一点,或者我是否坚持使用microtime,并构建自己的分析框架?

Sch*_*kie 43

我上周实际做了一些优化工作.XDebug确实是要走的路.

只是启用它作为扩展(由于某种原因它不适用于我的Windows机器上的ze_extension),使用xdebug.profiler_enable_trigger = On设置你的php.ini并用XDEBUG_PROFILE = 1作为get或post调用你的普通url变量来描述非常请求.没有比这更容易了!

此外,我真的可以推荐webgrind,一个基于web的(PHP)谷歌Summer Of Code项目,可以读取和解析您的调试输出文件!


pet*_*ris 7

这是一个很好的提示.

当您使用XDebug配置PHP时,设置profiler_trigger并在书签中使用它来触发XDebug探查器;)

javascript:if(document.URL.indexOf('XDEBUG_PROFILE')<1){var%20sep=document.URL.indexOf('?');sep%20=%20(sep<1)?'?':'&';window.location.href=document.URL+sep+'XDEBUG_PROFILE';}
Run Code Online (Sandbox Code Playgroud)


eno*_*rev 6

看看xdebug,它可以进行深入的分析.而且这里是一个解释如何使用Xdebug的.

Xdebug的Profiler是一个功能强大的工具,它使您能够分析PHP代码并确定瓶颈,或者通常可以看到代码的哪些部分很慢并且可以使用速度提升.Xdebug 2中的探查器以cachegrind兼容文件的形式输出分析信息.

荣誉对SchizoDuckie Webgrind.这是我第一次听说过它.非常有用(+1).

否则,您可以在linux或其较小的派生wincachegrind上使用kcachegrind.这两个应用程序都将读取xdebug的探查器输出文件,并总结它们以供您查看.