Heim >Backend-Entwicklung >PHP-Problem >So legen Sie ein Timeout in PHP-FPM fest

So legen Sie ein Timeout in PHP-FPM fest

藏色散人
藏色散人Original
2021-05-24 09:05:373433Durchsuche

So legen Sie das Timeout in PHP-FPM fest: 1. Legen Sie den Inhalt „request_terminate_timeout = 30“ fest. 2. Legen Sie den Inhalt „max_execution_time = 30“ fest.

So legen Sie ein Timeout in PHP-FPM fest

Die Betriebsumgebung dieses Artikels: Nginx1.0.4-System, PHP-Version 7.1, DELL G3-Computer

php-fpm Nginx-Timeout-Parametereinstellung

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

request_terminate_timeout ist anwendbar, wenn max_execution_time das Skript aus irgendeinem Grund nicht beenden kann. , wird diese PHP-FPM-Anfrage beenden.

Die Ausführungszeit der Web-Anfrage PHP wird durch zwei Aspekte gesteuert, einer ist max_execution_time von php.ini (es ist zu beachten, dass Sleep, die Zeit, die die HTTP-Anfrage auf eine Antwort wartet, nicht gezählt wird, hier ist die tatsächliche Ausführungszeit) , die andere ist die Einstellung „request_terminate_timeout“ von php-fpm, diese zählt n Sekunden nach dem Start der Anfrage.

Wenn diese Zeit überschritten wird, beendet PHP-FPM nicht nur die Ausführung des Skripts,

beendet auch den Worker-Prozess, der das Skript ausführt. Daher stellt Nginx fest, dass die Verbindung zur Kommunikation mit sich selbst unterbrochen ist, und gibt einen 502-Fehler an den Client zurück.

Die wichtigsten Parameter von nginx sind Fastcgi-bezogene Zeitüberschreitungen, nämlich: fastcgi_connect_timeout, fastcgi_read_timeout, fastcgi_send_timeout.

Die Themen dieser Nginx-Parameter sind alle Nginx, also bedeutet fastcgi_connect_timeout die Zeitüberschreitung für Nginx, um eine Verbindung zu Fastcgi herzustellen, fastcgi_read_timeout ist die Zeitüberschreitung für Nginx, um den Inhalt von Fastcgi zu lesen, und fastcgi_send_timeout ist die Zeitüberschreitung für Nginx, um Inhalte an Fastcgi zu senden.

Nginx 504 Gateway Timeout bedeutet, dass kein ausführbares PHP-CGI angefordert wurde.

Nginx 502 Bad Gateway bedeutet, dass das angeforderte PHP-CGI ausgeführt wurde, der PHP-CGI-Prozess jedoch beendet wurde, weil das Lesen der Ressourcen nicht abgeschlossen wurde.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo legen Sie ein Timeout in PHP-FPM fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn