php循环很多次怎么优化,循环执行一个操作,循环次数太多,执行次数太长导致错误,怎么优化?...

代码大概是这样的: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

有没有什么比较好的办法让他一边运行一边输出结果(现在是运行完一下子出现数据和上述错误),而不会出现因为运行时间过长产生错误呢?

回复内容:

代码大概是这样的: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

有没有什么比较好的办法让他一边运行一边输出结果(现在是运行完一下子出现数据和上述错误),而不会出现因为运行时间过长产生错误呢?

我勒去,这个什么业务逻辑啊!如果 findappbyid 查数据库的话,纯粹是看数据库不爽啊

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);

php的配置里默认的执行时间是30秒,30秒对于一般的也足够了。

你可以在你的程序里添加set_time_limit(3600)临时改变程序的执行时间。

或者ini_set("max_execution_time", "3600")。

如果你的是本地测试的机器,也可以将php.ini中的max_execution_time = 30中的30改成3600,或者更大的数,然后重启服务。

可以建立一个阻塞队列,把循环的次数变成队列的长度,单次执行的放到队列的节点中去做

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值