Heim >Backend-Entwicklung >PHP-Problem >Ausführliche Erklärung zum Festlegen des php.ini-Timeouts

Ausführliche Erklärung zum Festlegen des php.ini-Timeouts

PHPz
PHPzOriginal
2023-04-11 10:31:091197Durchsuche

Beim Einsatz von PHP zur Ausführung lang laufender Skripte stoßen wir oft auf das Problem, dass Skripte zu lange laufen. Wenn die Laufzeit des Skripts das vorgegebene Zeitlimit überschreitet, beendet PHP automatisch die Ausführung des Skripts und gibt eine Fehlermeldung zurück. Dieses Zeitlimit ist das Timeout von PHP. Standardmäßig beträgt das Timeout von PHP 30 Sekunden. Für einige Skripte, die viel Berechnung oder Verarbeitung erfordern, reicht dieses Zeitlimit möglicherweise nicht aus und es muss manuell ein längeres Timeout festgelegt werden.

Im Folgenden wird beschrieben, wie Sie das Timeout in der Datei php.ini festlegen.

  1. Finden Sie den Speicherort der php.ini-Datei.

In Linux-Systemen können Sie den folgenden Befehl verwenden, um den Speicherort der PHP-Datei zu ermitteln .ini-Datei: #🎜 🎜#

php -i | grep php.ini
Nachdem der Befehl ausgeführt wurde, wird der Pfad zur php.ini-Datei angezeigt, zum Beispiel:

Configuration File (php.ini) Path => /usr/local/php7/lib
Loaded Configuration File => /usr/local/php7/lib/php.ini
In Windows-Systemen können Sie verwenden Verwenden Sie das Suchtool, um die Datei php.ini zu finden.

    Öffnen Sie die php.ini-Datei.
Verwenden Sie einen Texteditor, um die php.ini-Datei zu öffnen. Hinweis: Die Datei php.ini ist normalerweise eine Konfigurationsdatei auf Systemebene und erfordert Administratorrechte.

    Suchen und ändern Sie die folgenden zwei Konfigurationselemente
  1. ; Maximum amount of time each script may spend parsing request data.
    ; Default: 60
    ; Change: 600
    max_input_time = 600
    
    ; Maximum execution time of each script, in seconds
    ; Default: 30
    ; Change: 300
    max_execution_time = 300
Ändern Sie unter normalen Umständen die beiden oben genannten Konfigurationselemente, um das PHP-Timeout auf 10 festzulegen Minuten. Darunter bezieht sich

    max_input_time auf die maximale Laufzeit des PHP-Skripts in Sekunden. Während dieser Zeit müssen die Eingabedaten des Skripts analysiert werden.
  • max_input_time 指 PHP 脚本最大的运行时间,以秒为单位。在这个时间内,脚本的输入数据必须被解析完毕。
  • max_execution_time 指 PHP 脚本的最大执行时间,以秒为单位。在这个时间内,脚本必须执行完毕,否则 PHP 引擎将终止脚本的执行。

需要注意的是,max_execution_timemax_execution_time bezieht sich auf die maximale Ausführungszeit eines PHP-Skripts in Sekunden. Innerhalb dieser Zeit muss das Skript ausgeführt werden, andernfalls bricht die PHP-Engine die Ausführung des Skripts ab.

    Es ist zu beachten, dass die Einstellung von max_execution_time die Einschränkungen anderer Komponenten wie PHP-FPM, Webserver, Betriebssystem usw. nicht überschreiten darf. Wenn diese Komponenten auf eine kürzere Zeit begrenzt sind, wird auch das Timeout auf eine kürzere Zeit begrenzt.
PHP speichern und neu starten

Nachdem Sie die php.ini-Datei geändert haben, speichern Sie PHP und starten Sie es neu.

Im Linux-System können Sie den Befehl verwenden:

sudo systemctl restart php-fpm

Im Windows-System können Sie in die Befehlszeile Folgendes eingeben:

iisreset

Oder in der Dienstverwaltung Starten Sie den IIS-Dienst auf dem Server neu.

#🎜🎜#Nach den oben genannten Vorgängen können wir das PHP-Timeout auf die von uns benötigte Zeit einstellen. Natürlich übt das Festlegen eines zu langen Timeouts auch einen gewissen Druck auf die Leistung des Servers aus und muss entsprechend der tatsächlichen Situation und den Anforderungen entsprechend eingestellt werden. #🎜🎜#

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Festlegen des php.ini-Timeouts. 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