2021年7月6日 星期二

php-fpm.conf 中的 request_terminate_timeout 設定

 request_terminate_timeout:

  • 預設值0,代表off
  • 可設定單位:s(秒、預設)、m(分)、h(小時)、d(日)
  • 效果:執行逾時,會發生錯誤中斷執行
  • 錯誤訊息:
    PHP error log => execution timed out, terminating
    Nginx => 502 Bad Gateway
  • 使用時機:當 max_execution_time 執行超時限制無作用時,又有需求須中止執行時,可考慮設定此參數。

官網說明:
request_terminate_timeout mixed
The timeout for serving a single request after which the worker process will be killed.
This option should be used when the 'max_execution_time' ini option does not stop script execution for some reason.
A value of '0' means 'Off'. Available units: s(econds)(default), m(inutes), h(ours), or d(ays). Default value: 0.


max_execution_time 說明:
max_execution_time 只算 PHP Script 本身執行的時間。
system calls using system(), stream operations, database queries...這些不列入計算。
例如,使用 sleep()延遲執行花的時間、curl_init()抓取網站花的時間,都不屬於PHP本身Script執行時間,都不會導致超過 max_execution_time 限制產生逾時。
若這些時間也要加入執行逾時考量,可以考慮使用 request_terminate_timeout 參數。





參考:



沒有留言:

張貼留言