30秒運行超時的錯誤(Maximum execution time of 30 seconds exceeded)
阿新 • • 發佈:2017-07-26
min cnblogs content onos 4.6 永不 lai php.ini shel
解決方案:
方法一:修改php.ini文件
max_execution_time = 30; Maximum execution time of each script, in seconds
把它設置成需要的值就可以了。如果設置成0的話,就是永不過期。
方法二:修改php執行文件
加上
<? set_time_limit(0); ?>
max_execution_time = 30; Maximum execution time of each script, in seconds
把它設置成需要的值就可以了。如果設置成0的話,就是永不過期。
補充:
內存超限,具體報錯語句忘了,簡單說一下解決辦法。
解決方法:利用循環分批導入;
每個循環內部開始處使用sleep(5);語句,做延遲執行,防止服務器內存同一時間占用過多,裏面數字據情況修改;
每個循環內部結束地方使用 ob_flush();
刷新輸出緩沖
flush
();將當前為止程序的所有輸出發送到用戶的瀏覽器
兩者必須同時使用來刷新輸出緩沖
**ob_flush()和flush()的區別。
前者是把數據從PHP的緩沖中釋放出來,
後者是把不在緩沖中的或者說是被釋放出來的數據發送到瀏覽器。
所以當緩沖存在的時候,我們必須ob_flush()和flush()同時使用
//附上一段非常有趣的代碼,作者為PuTTYshell。在一個腳本周期裏,每次輸出,都會把前一次的輸出覆蓋掉。header(‘Content-type: multipart/x-mixed-replace;boundary=endofsection‘); print "\n--endofsection\n"; $pmt = array("-", "\\", "|", "/" ); for( $i = 0; $i <10; $i ++ ){ sleep(1); print "Content-type: text/plain\n\n"; print "Part $i\t".$pmt[$i % 4]; print "--endofsection\n";ob_flush(); flush(); } print "Content-type: text/plain\n\n"; print "The end\n"; print "--endofsection--\n";
30秒運行超時的錯誤(Maximum execution time of 30 seconds exceeded)