PHP中的Catch脚本执行时间


Catch Script Execution Time in PHP

下面的脚本是创建1个html按钮。

<?php 
for($i=1; $i<=100000;$i++)
{
    echo "<button>".$i."</button>";
}
?>

我需要记录时间。最后,结果应该显示:脚本占用"x"分钟,"x"秒和"x"毫秒。实际上,我正在克隆一个虚拟机,根据磁盘的大小,这大约需要4到5分钟。这就是我需要定制输出的原因。

直接引用PHP文档:

function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
for ($i = 1; $i <= 100000; $i++)
{
    echo "<button>".$i."</button>";
}
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Time taken = $time seconds'n";

如果你的PHP脚本需要几分钟才能执行,我将非常关注你的硬件规格;)

从开始时间中扣除结束时间:

<?php
$start = microtime(true);
//du stuff there like this
sleep(1);
//and print time in sec
echo microtime(true) - $start;

对于您的情况:

$start = microtime(true);
for($i=1; $i<=100000;$i++){
    echo "<button>".$i."</button>";
}
$sec = (microtime(true) - $start);
$mil = explode('.', (string)$sec);
$mil = number_format($mil[1], 3);
$min = $sec / 60;
echo "Script take '$min' minutes, '$sec' seconds and '$mil' miliseconds";