Heim >Backend-Entwicklung >PHP-Tutorial >Warum läuft eine MySQL-Abfrage jetzt nach 60 Sekunden ab, obwohl sie zuvor erfolgreich ausgeführt wurde?
MySQL Server 60-Sekunden-Timeout-Problem
In diesem Artikel wird ein Problem untersucht, bei dem eine MySQL-Abfrage, die zuvor erfolgreich war, nun nach 60 Sekunden abläuft und zeigt die Fehlermeldung „MySQL-Server ist nicht mehr verfügbar“ an. Obwohl die Abfrage selbst langsam ist, war sie immer Teil einer nächtlichen Arbeit und stellte bis vor kurzem nie ein Problem dar.
Problemsymptome
Mögliche Ursachen
Fehlerbehebung
Es wurde festgestellt, dass die Standard-PHP-Einstellung „mysql.connect_timeout“ die Wurzel ist des Problems. Diese Einstellung steuert nicht nur das Verbindungszeitlimit, sondern auch die Wartezeit auf die erste Antwort des Servers.
Lösung
Um die Wartezeit zu erhöhen, kann die folgende PHP-Konfiguration erfolgen verwendet:
ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300);
Diese Änderung erhöht die Wartezeit auf den angegebenen Wert, sodass die Abfrage ohne Zeitüberschreitung abgeschlossen werden kann.
Das obige ist der detaillierte Inhalt vonWarum läuft eine MySQL-Abfrage jetzt nach 60 Sekunden ab, obwohl sie zuvor erfolgreich ausgeführt wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!