php - 在记录循环时设置执行超时时间

  显示原文与译文双语对照的内容
0 0

我想为php中的执行设置一个超时。 我想循环,并且我想在 5中切割,例如,我设置的执行时间。


ini_set('max_execution_time',2);
for ($i=0;$i<10;$i++){
 echo time();
 echo ' i:'.$i;
 echo"n";
 echo"n";
}

我想给它一个限制。

时间: 原作者:

0 0

使用 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

原作者:
0 0

你可以在使用 time()的循环之前执行时间戳。 并在forloop中进行额外的测试。


$startTime = time();
for ($i=0;$i<10 && time() <$startTime + 1000;$i++){
 echo time();
 echo ' i:'.$i;
 echo"n";
 echo"n";
}

原作者:
...