Maison >développement back-end >Problème PHP >Comment définir le délai d'attente dans php-fpm

Comment définir le délai d'attente dans php-fpm

藏色散人
藏色散人original
2021-05-24 09:05:373444parcourir

Comment définir le délai d'attente dans php-fpm : 1. Définissez le contenu "request_terminate_timeout = 30" ; 2. Définissez le contenu "max_execution_time = 30".

Comment définir le délai d'attente dans php-fpm

L'environnement d'exploitation de cet article : système nginx1.0.4, version PHP7.1, ordinateur DELL G3

paramètre de délai d'attente php-fpm nginx settings

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

request_terminate_timeout convient lorsque max_execution_time ne peut pas terminer le script pour une raison quelconque, cette requête php-fpm sera supprimée.

Le temps d'exécution de la requête web php est contrôlé par deux aspects, l'un est max_execution_time de php.ini (il est à noter que le temps de veille, le temps de la requête http en attente de réponse n'est pas compté, voici le vrai temps d'exécution), l'autre est le paramètre php-fpm request_terminate_timeout, qui compte n secondes depuis le début de la requête.

Lorsque ce délai est dépassé, PHP-FPM mettra non seulement fin à l'exécution du script,

mettra également fin au processus Worker qui exécute le script. Par conséquent, Nginx constatera que la connexion pour communiquer avec lui-même est rompue et renverra une erreur 502 au client.

Le paramètre clé de nginx est le délai d'attente lié à fastcgi, à savoir : fastcgi_connect_timeout, fastcgi_read_timeout, fastcgi_send_timeout.

Les sujets de ces paramètres nginx sont tous nginx, donc fastcgi_connect_timeout signifie le délai d'attente pour que nginx se connecte à fastcgi, fastcgi_read_timeout est le délai d'attente pour que nginx lise le contenu de fastcgi, et fastcgi_send_timeout est le délai d'attente pour que nginx envoie contenu au délai d'attente fastcgi.

Nginx 504 Gateway Time-out signifie qu'aucun PHP-CGI exécutable n'a été demandé.

Nginx 502 Bad Gateway signifie que le PHP-CGI demandé a été exécuté, mais que le processus PHP-CGI a été interrompu car la lecture des ressources n'est pas terminée.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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:
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