2016-11-15 56 views
0

我有數組:$stack和功能,可以引導該堆棧:下一頁()排列錯誤

private function nextStep() 
    { 
     echo "Next\r\n"; 
     return next($this->stack); 
    } 

我稱之爲無限循環這個功能,但我肯定這陣滿,直到條件,那麼我不叫nextStep了。

所以,我得到了Fatal error: Maximum execution time of 30 seconds exceeded in private function nextStep()

錯誤請告訴我意思,以及如何解決?

我稱這個爲:

private function parseHTML() 
{ 

    if ($this->nextStep() == false) { 

    sleep($this->timeout); 
    $this->parse(); 

    } else { 

    $this->parseNextStack(); 
    } 

} 

private function currentStack() 
{ 
    $this->currentStackItem = current($this->stack); 

} 

private function nextStep() 
{ 
    try { 
    return next($this->stack); 
    } 

    catch (Exception $e){ 

    echo count($this->stack); die(); 
    } 

} 

private function parseNextStack(){ 

    sleep($this->timeout); 
    $this->nextStep(); 
    $this->currentStack(); 
    $this->parseHTML(); // HERE IS LOOP 
} 

所以,初始化函數是:parseHTML()從劇本開始

+0

[致命錯誤:超過30秒的最大執行時間]的可能重複(http://stackoverflow.com/questions/5164930/fatal-error-maximum-execution-time-of-30-seconds-exceeded) – Henders

+1

你能否提供有問題的循環? '$ this-> stack'有多大? –

+0

有一刻會分享這 – MisterPi

回答

1

如果您確信循環有正確的條件,以結束它,然後可能數組$堆棧太大。您可以增加文件php.ini中的最大執行時間 - 參數max_execution_time。

+0

請看更新的問題 – MisterPi