代碼大概是這樣的: public function test(){ for ($i=0; $i < 90260; $i++) {
$a = findappbyid($i); print_r($a); print($i);
}
}大概查10個(gè)數(shù)據(jù)左右,就會(huì)出現(xiàn):Fatal error: Maximum execution time of 30 seconds exceeded in xxxx有沒(méi)有什么比較好的辦法讓他一邊運(yùn)行一邊輸出結(jié)果(現(xiàn)在是運(yùn)行完一下子出現(xiàn)數(shù)據(jù)和上述錯(cuò)誤),而不會(huì)出現(xiàn)因?yàn)檫\(yùn)行時(shí)間過(guò)長(zhǎng)產(chǎn)生錯(cuò)誤呢?
3 回答

幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
ob_end_flush(); ob_implicit_flush(true);for ($i=0; $i < 90260; $i++) { $a = findappbyid($i); print_r($a); print($i); } ob_end_flush(); ob_implicit_flush(false);

ABOUTYOU
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
php的配置里默認(rèn)的執(zhí)行時(shí)間是30秒,30秒對(duì)于一般的也足夠了。
你可以在你的程序里添加set_time_limit(3600)
臨時(shí)改變程序的執(zhí)行時(shí)間。
或者ini_set("max_execution_time", "3600")
。
如果你的是本地測(cè)試的機(jī)器,也可以將php.ini中的max_execution_time = 30
中的30改成3600,或者更大的數(shù),然后重啟服務(wù)。

Helenr
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
可以建立一個(gè)阻塞隊(duì)列,把循環(huán)的次數(shù)變成隊(duì)列的長(zhǎng)度,單次執(zhí)行的放到隊(duì)列的節(jié)點(diǎn)中去做
- 3 回答
- 0 關(guān)注
- 159 瀏覽
添加回答
舉報(bào)
0/150
提交
取消