代码大概是这样的:
public function test(){ for ($i=0; $i < 90260; $i++) { $a = findappbyid($i); print_r($a); print($i); } }
大概查10个数据左右,就会出现:
Fatal error: Maximum execution time of 30 seconds exceeded in xxxx
有没有什么比较好的办法让他一边运行一边输出结果(现在是运行完一下子出现数据和上述错误),而不会出现因为运行时间过长产生错误呢?
高洛峰2017-04-10 14:26:58
ob_end_flush(); ob_implicit_flush(true); for ($i=0; $i < 90260; $i++) { $a = findappbyid($i); print_r($a); print($i); } ob_end_flush(); ob_implicit_flush(false);
巴扎黑2017-04-10 14:26:58
php的配置里默认的执行时间是30秒,30秒对于一般的也足够了。
你可以在你的程序里添加set_time_limit(3600)
临时改变程序的执行时间。
或者ini_set("max_execution_time", "3600")
。
如果你的是本地测试的机器,也可以将php.ini中的max_execution_time = 30
中的30改成3600,或者更大的数,然后重启服务。