Heim >Backend-Entwicklung >PHP-Tutorial >Verursacht die PHP-Option mysql.connect_timeout Zeitüberschreitungen bei der MySQL-Server-Verbindung nach 60 Sekunden?

Verursacht die PHP-Option mysql.connect_timeout Zeitüberschreitungen bei der MySQL-Server-Verbindung nach 60 Sekunden?

Barbara Streisand
Barbara StreisandOriginal
2024-10-18 22:10:30447Durchsuche

Is the mysql.connect_timeout PHP Option Causing MySQL Server Connection Timeouts After 60 Seconds?

MySQL Server-Trennungsproblem: 60 Sekunden nach Zeitüberschreitung getrennt

Problem:

Ich habe es entdeckt dass eine SQL-Abfrage, die zuvor einwandfrei lief, nun nach 60 Sekunden abläuft und einen Fehler auslöst. Auch wenn die Abfrage langsam ist, wird sie als Teil eines nächtlichen Jobs ausgeführt, sodass sie per se kein Problem darstellt (also bitte nicht vorschlagen, dass ich sie optimiere).

Ich kann den Fehler durchgängig reproduzieren, indem ich „select SLEEP(120);“ ausführe, wie unten gezeigt. Die Ausführung derselben Anweisung vom MySQL-Client aus ist jedoch erfolgreich (gibt 0 zurück). Ich habe versucht, wait_timeout (auf 28800 eingestellt) anzupassen, ohne Erfolg. Ich habe auch den Datenbankserver und den Computer selbst neu gestartet.

Ich bekomme immer eine Zeitüberschreitung von genau 60 Sekunden, was mich vermuten lässt, dass es sich eher um ein Setup-Problem als um ein Problem mit der Ressourcenbeschränkung handelt.

Ich verwende:

  • Windows Server 2003
  • MySQL 5.1.36-community
  • PHP 5.3

Das Folgende ist mein Testcode, meine Ausgabe und die Ergebnisse von SHOW VARIABLES.

... 代码、输出和 SHOW VARIABLES 如下所示 ...

Antwort:

PHP-Option mysql.connect_timeout ist die Ursache dieses Problems. Es wird nicht nur für Verbindungs-Timeouts verwendet, sondern auch zum Warten auf die erste Antwort vom Server. Sie können es so erhöhen:

ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300); 

Das obige ist der detaillierte Inhalt vonVerursacht die PHP-Option mysql.connect_timeout Zeitüberschreitungen bei der MySQL-Server-Verbindung nach 60 Sekunden?. 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