3

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

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

喜欢;

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

Trace();
?>

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

附言。我不是在谈论为每个功能应用微时间。

4

3 回答 3

9

利用:

  • 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如果您想在开发和测试环境中进行分析。它通常更可靠,但占用空间明显;例如,与 XHProf 相比,长时间运行的脚本会生成非常大(100 秒 MB)的文件。

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

不要使用:

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

PS:我个人的建议:如果你有时间的话就和他们一起玩,否则就在你的开发环境中设置 xdebug。

于 2012-08-14T00:14:36.610 回答
0

看看http://xdebug.org/docs/profiler

于 2012-08-13T23:59:29.933 回答
0

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

于 2012-08-13T23:59:46.830 回答