頁面的超時時間同時受nginx和php的配置影響。
當是nginx影響到時,出錯提醒如下圖(圖1):

=============================================================
而當是php的腳本最大執行時間(默認值為30秒)影響到時,出錯的提醒如下圖(圖2):

nginx配置中fastcgi_read_timeout指定了nginx接受后端fastcgi響應請求超時時間,默認是60秒,如果fastcgi在規定時間內沒有返回數據,就會直接返回圖1的提示給客戶端。
所以把php的腳本最大執行時間設置大一點,並在及時返回給nginx,這樣就避免了超時的問題。
設置php的腳本最大執行時間使用這個函數:bool set_time_limit ( int $seconds );
及時返回數據給nginx可以這么寫:
if ($currentRow % 500 == 0) { // 每處理500行數據就返回一個空格並清空輸出緩存
echo " ";
ob_flush();
flush();
}
