Home > Backend Development > PHP Tutorial > 循环执行一个操作,循环次数太多,执行次数太长导致错误,怎么优化?

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

WBOY
Release: 2016-06-06 20:50:52
Original
2391 people have browsed it

代码大概是这样的:

    public function test(){
        for ($i=0; $i <p>大概查10个数据左右,就会出现:<br>
Fatal error: Maximum execution time of 30 seconds exceeded in xxxx</p><p>有没有什么比较好的办法让他一边运行一边输出结果(现在是运行完一下子出现数据和上述错误),而不会出现因为运行时间过长产生错误呢?</p>
                            
                        


                                                                                                                        
                     <h2>回复内容:</h2>
                      
                                                            <p>代码大概是这样的:</p><pre class="brush:php;toolbar:false">    public function test(){
        for ($i=0; $i <p>大概查10个数据左右,就会出现:<br>
Fatal error: Maximum execution time of 30 seconds exceeded in xxxx</p><p>有没有什么比较好的办法让他一边运行一边输出结果(现在是运行完一下子出现数据和上述错误),而不会出现因为运行时间过长产生错误呢?</p>
                            
                        
            <p class="answer fmt" data-id="1020000000171618">
                                    </p><p>我勒去,这个什么业务逻辑啊!如果 <code>findappbyid</code> 查数据库的话,纯粹是看数据库不爽啊</p>
                            
            <p class="answer fmt" data-id="1020000000170549">
                                    </p><pre class="brush:php;toolbar:false">ob_end_flush();
ob_implicit_flush(true);
for ($i=0; $i 
                            
            <p class="answer fmt" data-id="1020000000170698">
                                    </p><p>php的配置里默认的执行时间是30秒,30秒对于一般的也足够了。</p><p>你可以在你的程序里添加<code>set_time_limit(3600)</code>临时改变程序的执行时间。<br>
或者<code>ini_set("max_execution_time", "3600")</code>。</p><p>如果你的是本地测试的机器,也可以将php.ini中的<code>max_execution_time = 30</code>中的30改成3600,或者更大的数,然后重启服务。</p>
                            
            <p class="answer fmt" data-id="1020000000171612">
                                    </p><p>可以建立一个阻塞队列,把循环的次数变成队列的长度,单次执行的放到队列的节点中去做</p>
                            
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template