有没有什么比较好的办法让他一边运行一边输出结果?

代码大概是这样的:

    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

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


精慕HU
浏览 91回答 3
3回答

幕布斯6054654

ob_end_flush(); ob_implicit_flush(true);for&nbsp;($i=0;&nbsp;$i&nbsp;<&nbsp;90260;&nbsp;$i++)&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$a&nbsp;=&nbsp;findappbyid($i); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print_r($a);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print($i); } ob_end_flush(); ob_implicit_flush(false);

ABOUTYOU

php的配置里默认的执行时间是30秒,30秒对于一般的也足够了。你可以在你的程序里添加set_time_limit(3600)临时改变程序的执行时间。或者ini_set("max_execution_time", "3600")。如果你的是本地测试的机器,也可以将php.ini中的max_execution_time = 30中的30改成3600,或者更大的数,然后重启服务。

Helenr

可以建立一个阻塞队列,把循环的次数变成队列的长度,单次执行的放到队列的节点中去做
打开App,查看更多内容
随时随地看视频慕课网APP