PHP:调试的函数执行时间

时间:2012-08-13 23:57:36

标签: php debugging

  

可能重复:
  Simplest way to profile a PHP script

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

像;

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

Trace();
?>

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

聚苯乙烯。我不是在谈论为每个功能应用microtime。

3 个答案:

答案 0 :(得分: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 ,因为即使它在this answer中被推荐,它也已经过时了,看起来不再像以前那样开发了(2004年的最新版本根据其PECL页)

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

答案 1 :(得分:0)

答案 2 :(得分:0)

我不会在您的生产站点上执行此操作,但如果您可以在测试设置中复制问题,请使用分析来确定您在哪里花费所有执行时间。您需要安装XDebug或同等产品。 http://xdebug.org/docs/profiler