用PHP捕获脚本执行时间

时间:2013-01-19 17:42:32

标签: php time execution

以下脚本是创建1个缺少html按钮。

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

我需要抓住/记录时间。最后,结果应该显示: 脚本需要“x”分钟,“x”秒和“x”毫秒。实际上我正在克隆一个大约4到5分钟的虚拟机,具体取决于磁盘的大小。这就是我需要定制输出的原因。

2 个答案:

答案 0 :(得分:1)

直接PHP's documentation

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脚本需要几分钟才能执行,我会非常关注您的硬件规范;)

答案 1 :(得分:-1)

从开始时间结束时退出:

<?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";