小编典典

分析 PHP 脚本的最简单方法

all

分析 PHP 脚本的最简单方法是什么?

我很想在上面添加一些东西,向我展示所有函数调用的转储以及它们花费了多长时间,但我也可以在特定函数周围放置一些东西。

我尝试使用microtime功能:

$then = microtime();
myFunc();
$now = microtime();

echo sprintf("Elapsed:  %f", $now-$then);

但这有时会给我带来负面的结果。另外,在我的代码中到处乱写是很麻烦的。


阅读 70

收藏
2022-04-15

共1个答案

小编典典

PECL APD扩展的使用如下:

<?php
apd_set_pprof_trace();

//rest of the script
?>

之后,使用 . 解析生成的文件pprofp

示例输出:

Trace for /home/dan/testapd.php
Total Elapsed Time = 0.00
Total System Time  = 0.00
Total User Time    = 0.00


Real         User        System             secs/    cumm
%Time (excl/cumm)  (excl/cumm)  (excl/cumm) Calls    call    s/call  Memory Usage Name
--------------------------------------------------------------------------------------
100.0 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0000   0.0009            0 main
56.9 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0005   0.0005            0 apd_set_pprof_trace
28.0 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 preg_replace
14.3 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 str_replace

警告:APD 的最新版本是 2004 年发布的,扩展
不再维护
,并且存在各种兼容性问题(请参阅评论)。

2022-04-15