Ich habe ein Skript, das über Tabellen und Felder iteriert und eine Suche und Ersetzung durchführt. Das Skript dauert etwa 4 Minuten, um abzuschließen. Die Datenbank ist ungefähr 1,5 GB groß.
Das Problem ist, dass ich auf mysteriöse Weise die Datenbankverbindung verliere. Ich verwende ADODB, um eine Verbindung zu mySQL herzustellen. Die Datenbankverbindung wird am Anfang geöffnet und bleibt während der gesamten Dauer des Skripts geöffnet.
Das Problem verschwindet, wenn ich den folgenden Code verwende:
if ($rowCount % 100000 == 0) {
$db->Execute('USE ' . $db->database);
}
Ich bin kein Fan dieser Lösung!
Alle Vorschläge/Erklärungen/Diskussionen, die mir helfen, nicht mehr den Kopf zu kratzen, wären sehr willkommen!
1 Stimmen
Ist es Ihr Server oder haben Sie die Möglichkeit, dessen Konfiguration zu bearbeiten? Sie könnten auf mysql.connect_timeout stoßen.
0 Stimmen
Set_time_limit(0); Ist es nicht Ihr PHP-Skript, das abläuft?
0 Stimmen
Der Skript läuft auf vielen Servern. Einige davon habe ich unter Kontrolle. Es wäre schön, jede Konfiguration innerhalb des Skripts zu handhaben. @Eddie – das Skript läuft nicht ab.
0 Stimmen
Welche Fehlermeldungen erhalten Sie? Ich gehe davon aus, dass Sie mit error_reporting(E_ALL) ausgeführt werden und Fehler protokollieren, sowie die Fehlerbehandlung in der ADODB-Bibliothek aktivieren?