我想在 php 中设置执行超时。我想循环播放,例如由于我设置的执行时间,我想在 5 处切入。
ini_set('max_execution_time',2);
for ($i=0;$i<10;$i++){
echo time();
echo ' i:'.$i;
echo "\n";
echo "\n";
}
想给它一个限制。
使用ini_set('max_execution_time',2);
会影响整个 PHP 脚本,并可能导致
Fatal error: Maximum execution time of 2 second exceeded
您可以简单地将时间计算添加到for
循环中;
$maxTime = 2; // sec ;
$start = time();
echo "<pre>";
for($i = 0; $i < 10, (time() - $start) < $maxTime; $i ++) {
echo time();
echo ' i:' . $i;
echo "\n";
echo "\n";
sleep(1); // slow the script
}
输出
1354287243 i:0
1354287244 i:1
您可以在循环之前使用 time() 获取时间戳。并在 forloop 中进行额外的测试。
$startTime = time();
for ($i=0;$i<10 && time() < $startTime + 1000;$i++){
echo time();
echo ' i:'.$i;
echo "\n";
echo "\n";
}