首頁  >  文章  >  後端開發  >  php-fpm怎麼設定超時

php-fpm怎麼設定超時

藏色散人
藏色散人原創
2021-05-24 09:05:373373瀏覽

php-fpm設定逾時的方法:1、設定內容「request_terminate_timeout = 30」;2、設定內容「max_execution_time = 30」。

php-fpm怎麼設定超時

本文操作環境:nginx1.0.4系統、PHP7.1版,DELL G3電腦

php-fpm nginx 逾時參數設定

php-fpm:
request_terminate_timeout = 30
php.ini:
max_execution_time = 30

request_terminate_timeout 適用於,當max_execution_time因為某些原因無法終止腳本的時候,會把這個php-fpm請求幹掉。

web請求php執行時間受到2方面控制,一個是php.ini的max_execution_time(要注意的是sleep,http請求等待回應的時間是不算的,這裡算的是真正的執行時間) ,另一個是php-fpm request_terminate_timeout 設置,這個算的是請求開始n秒。

 

當超過這個時間時,PHP-FPM不僅會終止腳本的執行,

還會終止執行腳本的Worker進程。所以Nginx會發現與自己通訊的連線斷掉了,就會回傳給客戶端502錯誤。

 

nginx的關鍵參數是 fastcgi 相關的 timeout,即:fastcgi_connect_timeout,fastcgi_read_timeout,fastcgi_send_timeout。

這幾個nginx 參數的主詞都是nginx,所以fastcgi_connect_timeout 的意思是nginx 連接到fastcgi 的超時時間,fastcgi_read_timeout 是nginx 讀取fastcgi 的內容的逾時時間,fastcgi_send_timeout 是nginx 讀取fastcgi 的內容的逾時時間,fastcgi_send_timeout 是到公司發送的內容。超時時間。

Nginx 504 Gateway Time-out的意思是沒有請求到可以執行的PHP-CGI。

Nginx 502 Bad Gateway的意思是請求的PHP-CGI已經執行,但由於讀取資源的等沒有執行完畢而導致PHP-CGI進程終止。

推薦學習:《PHP影片教學

以上是php-fpm怎麼設定超時的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn