1. 程式人生 > >php頁面載入超時,nginx出現502錯誤

php頁面載入超時,nginx出現502錯誤

用PHPExcel下載excel表格的時候,由於表格資料非常多,下載很慢。一點選下載,頁面就一直轉啊轉,最後出現502錯誤,如下圖。

php-fpm錯誤日誌如下:

[13-Oct-2013 12:06:07] WARNING: [pool www] child 7458, script '/home/wwwroot/admin/index.php' (request: "GET /index.php") execution timed out (101.515909 sec), terminating
[13-Oct-2013 12:06:07] WARNING: [pool www] child 7458 exited on signal 15 (SIGTERM) after 1130895.840878 seconds from start
[13-Oct-2013 12:06:07] NOTICE: [pool www] child 24885 started

 

觀察了下頁面502的響應時長,發現每次都是30s過一點。猜測可能是伺服器的配置檔案設定了30s的超時時間,於是依次查找了nginx.conf,php-fpm.conf,php.ini(這三個檔案原先使用預設配置)。發現nginx.conf裡沒有30s的配置,php-fpm.conf和php.ini裡都有30s的配置。最後實驗得出結論:只需要修改php-fpm.conf的request_terminate_timeout值就可以解決超時頁面顯示502的問題。