PHP:调试的函数执行时间

Ari*_*ona 2 php debugging

可能重复:
分析PHP脚本的最简单方法

有时我的网站加载缓慢,我想跟踪哪个功能导致它.(或者如果它与我或网络服务器有关)如何获得正在运行的每个功能的执行时间?

喜欢;

<?php
function A() { }
function B() { }
function C() { }
A();
B();

Trace();
?>
Run Code Online (Sandbox Code Playgroud)

Trace()将输出:A运行0.1毫秒,B运行1,1秒,脚本完成.在PHP中有这样的调试功能吗?

PS.我不是在谈论为每个功能应用microtime.

Mah*_*ahn 7

使用:

  • 如果您需要在生产环境中进行配置,请使用 XHProf.它有足迹,但它通常是负担得起的.如果脚本意外结束,它不会产生跟踪.

http://blog.tech4him.com/wp-content/uploads/xhprof1.png http://www.wiktik.com/blog/wp-content/uploads/2012/02/xhprof-callgraph_small.png

  • 如果要在开发和测试环境中进行概要分析,请使用 XDebug.它通常更可靠,但占地面积明显; 例如,长时间运行的脚本将生成非常大(100s MB)的文件,而不是XHProf.

http://blog.haohtml.com/wp-content/uploads/2010/03/win_xdebug_WinCacheGrind_4.jpg

不要使用:

  • APD,因为即使它在这个答案中被推荐,它也已经过时了,看起来不再像现在这样开发了(2004年的最新版本根据其PECL页面)

PS:我的个人建议:如果你有时间,可以和他们一起玩,或者只是在开发环境中设置xdebug.