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

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

WBOY
Freigeben: 2016-06-06 20:50:52
Original
2391 Leute haben es durchsucht

代码大概是这样的:

    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>
                            
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage