今天用PHP執行一個非常耗時的文件【ps:自己有用,大概3分鍾】
但是執行到一分鍾后顯示
nginx 504 Gateway Time-out
於是修改php-ini.php中的max_execution_time =1200;重啟php,還是沒用
突然明白,如果超時是php設置的問題,會報以下錯誤
Fatal error: Maximum execution time of 60 seconds exceeded in E:\ceshi\001\map.php on line 27
所以問題出在nginx上,汗,上面不是說了nginx 504嗎;
繼續度娘
找到一篇關於nginx配置的文章【nginx.conf】
里面有一些這個配置
#設定http服務器 http { include mime.types; #文件擴展名與文件類型映射表 default_type application/octet-stream; #默認文件類型 #charset utf-8; #默認編碼 server_names_hash_bucket_size 128; #服務器名字的hash表大小 client_header_buffer_size 32k; #上傳文件大小限制 large_client_header_buffers 4 64k; #設定請求緩 client_max_body_size 8m; #設定請求緩 sendfile on; #開啟高效文件傳輸模式,sendfile指令指定nginx是否調用sendfile函數來輸出文件,對於普通應用設為 on,如果用來進行下載等應用磁盤IO重負載應用,可設置為off,以平衡磁盤與網絡I/O處理速度,降低系統的負載。注意:如果圖片顯示不正常把這個改成off。 autoindex on; #開啟目錄列表訪問,合適下載服務器,默認關閉。 tcp_nopush on; #防止網絡阻塞 tcp_nodelay on; #防止網絡阻塞 keepalive_timeout 120; #長連接超時時間,單位是秒 #FastCGI相關參數是為了改善網站的性能:減少資源占用,提高訪問速度。下面參數看字面意思都能理解。 fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; }
於是把自己nginx配置中的fastcgi_connect_timeout值改了一下,ok了
看了字母意思也就明白了