> 백엔드 개발 > PHP 튜토리얼 > 循环执行一个操作,循环次数太多,执行次数太长导致错误,怎么优化?

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

WBOY
풀어 주다: 2016-06-06 20:50:52
원래의
2391명이 탐색했습니다.

代码大概是这样的:

    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>
                            
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿