我有一个从外部数据库中提取数据并将数据存储在本地数据库中的脚本。我是在共享服务器环境中设置的,所以我不能让脚本运行超过两分钟,但它需要大约5-10分钟才能运行完成。
我可以让脚本在一分半钟后停止它的foreach循环,这样我就可以重定向到相同的脚本,但使用不同的数据库偏移量来继续它离开的地方吗?
我可以使用GET查询字符串完成最后一部分,但我不确定如何计时。
发布于 2011-09-21 23:53:12
最简单的方法是在脚本的开头设置一个time(),并检查foreach循环中的差异。
$start = time(); // Returns time in seconds
foreach($bigdata as $row) {
if(time()-$start > 100) { // Stop 20 seconds before 120 sec limit
// Some code for exiting the loop...
break;
}
}发布于 2014-01-02 04:20:48
$total_time = 0;
$start_time = microtime(true);
while($total_time < 60)//run while less than a minute
{
//DoSomething;
echo $total_time."\n";
sleep(5);//wait amount in seconds
$total_time = microtime(true) - $start_time ;
} https://stackoverflow.com/questions/7502758
复制相似问题