検索
PHP-FPMパラメータの理解Aug 21, 2019 am 10:01 AM
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 はアイドル状態の 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://localhostphp-fpmsmoothingreload を実行します。fastcgi 信号がシャットダウン プロセス信号を受信した後、最初のスリープ関数は直接戻りますが、 2 番目のスリープはまだ実行中です。したがって、php-fpm はこの古い fastcgi プロセスによって 10 秒間停止しますが、その後、スムーズに再起動を完了できます。 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 &#39;max_execution_time&#39; ini option
; does not stop script execution for some reason. A value of &#39;0&#39; means &#39;off&#39;.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_terminate_timeout = 0
翻訳は次のとおりです:

request_terminate_timeout

パラメータは、単一のリクエストを処理するためのタイムアウトを設定します。つまり、ワーカー プロセスは強制終了されます。このオプションは、php.ini ファイルの max_execution_time オプションによって何らかの理由でスクリプトの実行が停止されない場合に使用する必要があります。デフォルト値は 0 で、このオプションがオフであることを意味します。

上記のように、php.ini 設定の
request_terminate_timeout はリクエストのタイムアウトと 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 はスローします。 # ##致命的な誤り###。

max_execution_time には、

system()sleep() の使用などのシステム コール、ストリーム操作、データベース操作などの時間は含まれません。これは比較的役に立ちませんが、request_terminate_timeout にはプログラムの完全なリクエスト時間が含まれます。 さらに、request_terminate_timeout をオンにしても max_execution_time は無効になりません。最初にタイムアウトに達した人が有効になります。

関連する PHP の問題の詳細については、PHP 中国語 Web サイトを参照してください:

https://www.php.cn/

以上がPHP-FPMパラメータの理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はPHPStudyで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
解决Ubuntu缺少PHP-FPM的问题解决Ubuntu缺少PHP-FPM的问题Mar 08, 2024 pm 09:45 PM

解决Ubuntu缺少PHP-FPM的问题,需要具体代码示例在Ubuntu系统中,安装和配置PHP-FPM是常见的操作,但有时候在安装过程中会出现缺少PHP-FPM的问题。本文将详细介绍如何解决这个问题,并提供具体的代码示例帮助您完成安装和配置。1.检查PHP-FPM是否已安装首先,使用以下命令检查系统中是否已经安装了PHP-FPM:dpkg-l|gr

解决Linux环境下PHP7-FPM启动失败的方法解决Linux环境下PHP7-FPM启动失败的方法Mar 11, 2024 pm 02:12 PM

解决Linux环境下PHP7-FPM启动失败的方法在使用Linux服务器搭建网站或应用程序时,PHP7-FPM是一个常用的PHPFastCGI进程管理器。但是有时会遇到PHP7-FPM启动失败的问题,这可能会导致网站无法正常访问。在本文中,我们将介绍一些常见的解决方法,并提供具体的代码示例。希望这些信息能够帮助你快速解决PHP7-FPM启动失败的情况。检查

如何应对Linux下PHP7-FPM启动失败的情况如何应对Linux下PHP7-FPM启动失败的情况Mar 10, 2024 pm 09:54 PM

Linux下的PHP7-FPM是一种常见的PHPFastCGI进程管理器,通常用来处理PHP程序的运行。然而有时候在配置或者部署过程中,可能会遇到PHP7-FPM启动失败的情况,导致网站无法正常访问。在这种情况下,我们需要采取一些措施来应对和解决问题。1.检查错误日志首先要查看PHP7-FPM的错误日志,通常错误日志位于/var/log/php7-fpm

nginx平滑重启和FPM平滑重启是什么nginx平滑重启和FPM平滑重启是什么May 23, 2023 pm 09:08 PM

平滑重启GR是GracefulRestart(平滑重启)的简称,是一种在协议重启时保证转发业务不中断的机制。GR机制的核心在于:当某设备进行协议重启时,能够通知其周边设备在一定时间内将到该设备的邻居关系和路由保持稳定。在协议重启完毕后,周边设备协助其进行信息(包括支持GR的路由/MPLS相关协议所维护的各种拓扑、路由和会话信息)同步,在尽量短的时间内使该设备恢复到重启前的状态。在整个协议重启过程中不会产生路由振荡,报文转发路径也没有任何改变,整个系统可以不间断地转发数据。这个过程即称为平滑重启。

nginx+php-fpm服务HTTP状态码502怎么解决nginx+php-fpm服务HTTP状态码502怎么解决May 21, 2023 am 08:07 AM

我们的一个web项目,由于新上城市增多,导致访问量增大,db压力增大,作为提供接口的业务方,最近被下游反馈大量请求“502”。502,badgateway,一般都是upstream(这里就是php)出错,对于php,造成502的原因常见的就是脚本执行超过timeout设置时间,或者timeout设置过大,导致php进程长时间不能被释放,没有空闲worker进程来接客。我们的项目就是php执行时间设置过短导致的,对于这种情况,可以先适当增大php的执行时间,先保证清除502,优化的事情毕竟要花更多

解决Ubuntu系统中缺少PHP-FPM的挑战解决Ubuntu系统中缺少PHP-FPM的挑战Mar 08, 2024 pm 02:48 PM

在解决Ubuntu系统中缺少PHP-FPM的挑战时,需要遵循一系列步骤来安装和配置PHP-FPM。PHP-FPM(FastCGIProcessManager)是一个处理动态页面请求的进程管理器,能够提高PHP应用程序的性能和稳定性。以下将详细介绍如何在Ubuntu系统上安装和配置PHP-FPM,并提供具体的代码示例来帮助解决这一挑战。第一步:更新系统在进

Nginx中使用PHP-FPM时记录PHP错误日志怎么配置Nginx中使用PHP-FPM时记录PHP错误日志怎么配置May 15, 2023 am 08:58 AM

nginx与apache不一样,在apache中可以直接指定php的错误日志,那样在php执行中的错误信息就直接输入到php的错误日志中,可以方便查询。在nginx中事情就变成了这样:nginx只对页面的访问做access记录日志。不会有php的errorlog信息。nginx把对php的请求发给php-fpmfastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errorslog里也看不到php的errorlog。原因是php-fpm的配置文件php

Linux服务器上PHP7-FPM启动异常的处理技巧Linux服务器上PHP7-FPM启动异常的处理技巧Mar 11, 2024 am 11:09 AM

在Linux服务器上使用PHP7-FPM作为服务器端脚本运行环境是常见的做法,但有时候可能会遇到启动异常的情况。本文将介绍一些处理PHP7-FPM启动异常的技巧,同时提供一些具体的代码示例,帮助读者更好地解决问题。1.检查配置文件PHP7-FPM的配置文件通常位于/etc/php/7.x/fpm/pool.d/目录下,确保配置文件中各项配置正确无误。可以使

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境