中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是PHP-FPM參數

發布時間:2020-03-27 11:45:52 來源:億速云 閱讀:138 作者:小新 欄目:編程語言

什么是PHP-FPM參數?很多人都不太了解,今天小編為了讓大家更加了解PHP-FPM參數,所以給大家總結了以下內容,一起往下看吧。

                                                           process_control_timeout

英文解釋

process_control_timeout mixedTime limit for child processes to wait for a reaction on signals from master.
Available units: s(econds), m(inutes), h(ours), or d(ays) Default Unit: seconds. Default value: 0.

中文解釋

process_control_timeout
 mixed
設置子進程接受主進程復用信號的超時時間。可用單位:s(秒),m(分),h(小時)或者 d(天)。默認單位:s(秒)。默認值:0(關閉)。

中文翻譯有個不恰當的地方,英文解釋里并沒有指明該信號是復用信號。

什么是PHP-FPM參數

我的理解:

處理請求

原則上,php-fpm會選擇空閑的fastcgi進程去處理請求,在處理之前,php-fpm會給fastcgi發送信號,用來讓fastcgi進程準備好接受請求處理。但是fastcgi進程并不總是能夠處理請求,也就是不能總是響應該信號(比如出現假死的情況),這時候就需要設定php-fpm留給fastcgi進程響應信號的時間,如果超時了,php-fpm會想其他辦法(例如選擇其他fastcgi進程),這個就process_control_timeout參數的作用。

php-fpm進行reload

process_control_timeout = 10

<?php 
sleep(50);echo 1;sleep(20);    
//沒有這個sleep,reload會立即生效echo 2;

當瀏覽器訪問http://localhost時,進行php-fpm平滑reload,fastcgi信號收到關閉進程信號后,第一個sleep函數會直接返回,但是第二個sleep仍在執行。因此,php-fpm會被這一個舊fastcgi進程卡10s,超過后才能完成平滑重啟

request_terminate_timeout

php-fpm.conf文件中的描述如下:

; 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
;request_terminate_timeout = 0

翻譯過來就是:
request_terminate_timeout參數設置了處理單個請求的超時時間,過了之后,該worker進程就會被kill掉。這個選項應該在php.ini文件的max_execution_time選項由于某種原因沒有停止腳本的運行下使用。默認值為0,表示該選項為關閉狀態。

正如上面所說,request_terminate_timeout設定的是請求的超時時間,而php.ini配置中的max_execution_time根據手冊如下的解釋,是腳本被允許的最大執行時間。

max_execution_time
 integer
這設置了腳本被解析器中止之前允許的最大執行時間,單位秒。 這有助于防止寫得不好的腳本占盡服務器資源。 默認設置為 30。 從命令行運行 PHP 時,默認設置為 0。
最大執行時間不會影響系統調用和系統操作等。更多細節參見 set_time_limit()。
在 安全模式 下你不能通過 ini_set() 來修改此設置。 唯一的解決方法是關閉安全模式或者在 php.ini中修改時間限制。
你的 web 服務器也可以有其他超時設置,也有可能中斷 PHP 的執行。 Apache 有一個 Timeout 指令,IIS 有一個 CGI 超時功能。 他們默認都是 300 秒。更多具體信息參見你的 web 服務器的文檔。

區別如下:

超時后,request_terminate_timeout會返回502Bad Gateway了,而max_execution_time會拋出Fatal Error

max_execution_time不包括諸如使用system()sleep()的系統調用、流操作、數據庫操作等的時間,所以比較雞肋,而request_terminate_timeout會包含程序的完整請求時間。

另外,開啟request_terminate_timeout并不會讓max_execution_time失效,先到達誰的超時時間誰起作用。

以上就是什么是PHP-FPM參數的詳細內容了,看完之后是否有所收獲呢?如果如果想了解更多,歡迎來億速云行業資訊!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘孜县| 揭阳市| 芒康县| 改则县| 江津市| 海盐县| 民勤县| 临朐县| 平阳县| 咸丰县| 保山市| 兴隆县| 山东省| 巫溪县| 合江县| 香格里拉县| 文山县| 盈江县| 湛江市| 怀集县| 井冈山市| 都昌县| 柳江县| 云霄县| 宝山区| 峨山| 惠州市| 专栏| 义马市| 北安市| 灵台县| 绥滨县| 宁南县| 区。| 盘锦市| 敦煌市| 勃利县| 浠水县| 筠连县| 定兴县| 白山市|