Maison développement back-end tutoriel php Compréhension des paramètres PHP-FPM

Compréhension des paramètres PHP-FPM

Aug 21, 2019 am 10:01 AM
fpm

process_control_timeout

Explication anglaise

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.
Copier après la connexion

Explication chinoise

process_control_timeout
 mixed
设置子进程接受主进程复用信号的超时时间。可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。
Copier après la connexion

La traduction chinoise est inappropriée L'explication anglaise n'indique pas que le signal est un signal multiplexé.

Ma compréhension :

Traitement des demandes

En principe, php-fpm choisira un processus inactif fastcgi pour traiter la demande avant le traitement, php-fpm enverra. un signal à fastcgi pour préparer le processus fastcgi à accepter le traitement de la demande. Cependant, le processus fastcgi n'est pas toujours capable de gérer la demande, c'est-à-dire qu'il ne peut pas toujours répondre au signal (comme une animation suspendue). À ce stade, vous devez définir l'heure à laquelle php-fpm part pour le processus fastcgi. répondre au signal. S'il expire, php -fpm pensera à d'autres moyens (comme en sélectionnant d'autres processus fastcgi), c'est le rôle du paramètre process_control_timeout.

php-fpm effectuer reload

process_control_timeout = 10

<?php 
sleep(50);echo 1;sleep(20);    
//没有这个sleep,reload会立即生效echo 2;
Copier après la connexion

Lorsque le navigateur accède à http://localhost, effectuez php-fpmsmoothreload, fastcgi Après En recevant le signal pour fermer le processus, la première fonction de veille reviendra directement, mais la deuxième fonction de veille est toujours en cours d'exécution. Par conséquent, php-fpm sera bloqué par cet ancien processus fastcgi pendant 10 secondes, après quoi il pourra effectuer un redémarrage en douceur

request_terminate_timeout

La description dans le fichier php-fpm.conf est la suivante suit :

; 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
Copier après la connexion

La traduction est :
Le paramètre request_terminate_timeout définit le délai d'attente pour le traitement d'une seule requête. Après cela, le processus de travail sera tué. Cette option doit être utilisée si l'option max_execution_time dans le fichier php.ini n'arrête pas l'exécution du script pour une raison quelconque. La valeur par défaut est 0, ce qui signifie que cette option est désactivée.

Comme mentionné ci-dessus, request_terminate_timeout définit le délai d'expiration de la requête, et max_execution_time dans la configuration php.ini est le temps d'exécution maximum autorisé pour le script selon l'explication suivante dans le manuel. La différence entre

max_execution_time
 integer
这设置了脚本被解析器中止之前允许的最大执行时间,单位秒。 这有助于防止写得不好的脚本占尽服务器资源。 默认设置为 30。 从命令行运行 PHP 时,默认设置为 0。
最大执行时间不会影响系统调用和系统操作等。更多细节参见 set_time_limit()。
在 安全模式 下你不能通过 ini_set() 来修改此设置。 唯一的解决方法是关闭安全模式或者在 php.ini中修改时间限制。
你的 web 服务器也可以有其他超时设置,也有可能中断 PHP 的执行。 Apache 有一个 Timeout 指令,IIS 有一个 CGI 超时功能。 他们默认都是 300 秒。更多具体信息参见你的 web 服务器的文档。
Copier après la connexion

est la suivante :

Après l'expiration du délai, request_terminate_timeout renverra 502Bad Gateway, tandis que max_execution_time lancera Fatal Error.

max_execution_time n'inclut pas l'heure des appels système tels que l'utilisation de system(), sleep(), les opérations de flux, les opérations de base de données, etc., il est donc relativement inutile, tandis que request_terminate_timeout inclura l'heure complète de la requête de le programme.

De plus, l'activation de request_terminate_timeout n'invalidera pas max_execution_time. Celui qui atteint le premier le délai d'attente prendra effet.

Pour plus de problèmes PHP liés, veuillez visiter le site Web PHP chinois : https://www.php.cn/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1664
14
Tutoriel PHP
1268
29
Tutoriel C#
1246
24
Résoudre le problème du PHP-FPM manquant dans Ubuntu Résoudre le problème du PHP-FPM manquant dans Ubuntu Mar 08, 2024 pm 09:45 PM

Pour résoudre le problème de PHP-FPM manquant dans Ubuntu, des exemples de code spécifiques sont nécessaires dans le système Ubuntu, l'installation et la configuration de PHP-FPM sont une opération courante, mais parfois le problème de PHP-FPM manquant se produit pendant le processus d'installation. Cet article explique comment résoudre ce problème et fournit des exemples de code spécifiques pour vous aider à terminer l'installation et la configuration. 1. Vérifiez si PHP-FPM a été installé. Tout d'abord, utilisez la commande suivante pour vérifier si PHP-FPM a été installé sur le système : dpkg-l|gr.

Comment résoudre le problème de l'échec du démarrage de PHP7-FPM dans un environnement Linux Comment résoudre le problème de l'échec du démarrage de PHP7-FPM dans un environnement Linux Mar 11, 2024 pm 02:12 PM

Méthodes pour résoudre le problème de l'échec du démarrage de PHP7-FPM dans un environnement Linux Lorsque vous utilisez un serveur Linux pour créer un site Web ou une application, PHP7-FPM est un gestionnaire de processus PHPFastCGI couramment utilisé. Cependant, vous rencontrez parfois le problème que PHP7-FPM ne démarre pas, ce qui peut empêcher l'accès normal au site Web. Dans cet article, nous aborderons quelques solutions de contournement courantes et fournirons des exemples de code spécifiques. J'espère que ces informations pourront vous aider à résoudre rapidement le problème de l'échec du démarrage de PHP7-FPM. examiner

Comment gérer l'échec du démarrage de PHP7-FPM sous Linux Comment gérer l'échec du démarrage de PHP7-FPM sous Linux Mar 10, 2024 pm 09:54 PM

PHP7-FPM sous Linux est un gestionnaire de processus PHPFastCGI courant, généralement utilisé pour gérer l'exécution de programmes PHP. Cependant, parfois pendant le processus de configuration ou de déploiement, vous pouvez rencontrer une situation dans laquelle PHP7-FPM ne démarre pas, empêchant l'accès normal au site Web. Dans ce cas, nous devons prendre certaines mesures pour traiter et résoudre le problème. 1. Vérifiez le journal des erreurs. Vérifiez d'abord le journal des erreurs de PHP7-FPM. Habituellement, le journal des erreurs se trouve dans /var/log/php7-fpm.

Comment résoudre le code d'état HTTP 502 du service nginx+php-fpm Comment résoudre le code d'état HTTP 502 du service nginx+php-fpm May 21, 2023 am 08:07 AM

Pour l'un de nos projets Web, en raison de l'augmentation du nombre de nouvelles villes, le nombre de visites a augmenté et la pression sur la base de données a augmenté. En tant qu'entreprise fournissant des interfaces, un grand nombre de demandes "502" ont été signalées récemment. par rétroaction en aval. 502, badgateway, est généralement une erreur en amont (voici PHP). Pour PHP, la cause courante de 502 est que l'exécution du script dépasse le délai d'attente défini, ou que le paramètre de délai d'attente est trop grand, ce qui empêche le processus PHP de fonctionner. libéré depuis longtemps, et il n'y a pas de processus de travailleurs inactifs pour récupérer les invités. Notre projet est dû au fait que le paramètre de temps d'exécution PHP est trop court. Dans ce cas, vous pouvez d'abord augmenter le temps d'exécution PHP de manière appropriée et vous assurer que 502 est effacé en premier. Après tout, l'optimisation coûtera plus cher.

Que sont le redémarrage en douceur nginx et le redémarrage en douceur FPM ? Que sont le redémarrage en douceur nginx et le redémarrage en douceur FPM ? May 23, 2023 pm 09:08 PM

Graceful restart GR est l'abréviation de Graceful Restart. Il s'agit d'un mécanisme permettant de garantir que les services de transfert ne sont pas interrompus lors du redémarrage du protocole. Le cœur du mécanisme GR réside dans le fait que lorsqu'un appareil redémarre le protocole, il peut avertir les appareils environnants afin de maintenir des relations de voisinage stables et des itinéraires vers l'appareil dans un certain laps de temps. Une fois le protocole redémarré, les périphériques l'aident à synchroniser les informations (y compris diverses informations de topologie, de routage et de session maintenues par les protocoles de routage/MPLS prenant en charge GR), rétablissant ainsi l'appareil dans l'état où il était avant le redémarrage dans les plus brefs délais. État. Il n'y aura aucun battement de route pendant tout le processus de redémarrage du protocole, et il n'y aura aucun changement dans le chemin de transmission des paquets. L'ensemble du système peut transmettre des données sans interruption. Ce processus est appelé un redémarrage en douceur.

Résoudre le défi de l'absence de PHP-FPM dans les systèmes Ubuntu Résoudre le défi de l'absence de PHP-FPM dans les systèmes Ubuntu Mar 08, 2024 pm 02:48 PM

Lorsque vous résolvez le problème de l'absence de PHP-FPM dans votre système Ubuntu, vous devez suivre une série d'étapes pour installer et configurer PHP-FPM. PHP-FPM (FastCGIProcessManager) est un gestionnaire de processus qui gère les requêtes de pages dynamiques et peut améliorer les performances et la stabilité des applications PHP. Ce qui suit détaille comment installer et configurer PHP-FPM sur un système Ubuntu et fournit des exemples de code spécifiques pour aider à résoudre ce problème. Étape 1 : La mise à jour du système est en cours

Comment configurer les journaux d'erreurs PHP lors de l'utilisation de PHP-FPM dans Nginx Comment configurer les journaux d'erreurs PHP lors de l'utilisation de PHP-FPM dans Nginx May 15, 2023 am 08:58 AM

nginx est différent d'Apache. Dans Apache, vous pouvez spécifier directement le journal des erreurs de php, de sorte que les informations sur les erreurs lors de l'exécution de php soient directement saisies dans le journal des erreurs de php, qui peut être facilement interrogé. Dans nginx, les choses deviennent comme ceci : nginx enregistre uniquement les journaux d'accès pour les visites de pages. Il n'y aura aucune information du journal des erreurs php. nginx envoie la demande de php au processus php-fpmfastcgi pour traitement. Le php-fpm par défaut affichera uniquement le message d'erreur de php-fpm, et le journal des erreurs de php ne peut pas être vu dans le journal des erreurs de php-fpm. La raison est que le fichier de configuration php de php-fpm

Conseils pour gérer l'exception de démarrage PHP7-FPM sur le serveur Linux Conseils pour gérer l'exception de démarrage PHP7-FPM sur le serveur Linux Mar 11, 2024 am 11:09 AM

Il est courant d'utiliser PHP7-FPM comme environnement d'exécution de scripts côté serveur sur les serveurs Linux, mais vous pouvez parfois rencontrer des exceptions de démarrage. Cet article présentera quelques techniques pour gérer les exceptions de démarrage de PHP7-FPM et fournira des exemples de code spécifiques pour aider les lecteurs à mieux résoudre le problème. 1. Vérifiez le fichier de configuration. Le fichier de configuration de PHP7-FPM se trouve généralement dans le répertoire /etc/php/7.x/fpm/pool.d/ pour vous assurer que les configurations du fichier de configuration sont correctes. Peut faire

See all articles