GX-Bug #59281
geschlossenWiederherstellung eines DB Backups ist unter PHP 7.2 nicht möglich
100%
Wiederherstellung eines DB Backups ist unter PHP 7.2 wieder zuverlässig möglich
Beschreibung
Bei der Sicherung der Datenbank über "Toolbox > Datenbanksicherung" werden die einzelnen Datenbanktabellen einzeln gesichert und letztlich werden alle Datenbanktabellen das gezippt. Bei der Wiederherstellung des Backups wir das erstellte Zip-Archiv wieder entpackt und die einzelnen SQL-Dateien mit der gesicherten Datenbank werden Datei- und Zeilenweise verarbeitet. Erfolgt die Verarbeitung einer SQL-Datei nicht innerhalb eines gewissen Zeitraums (Timeout des Ajax-Requests), wird an dieser Stelle fortgesetzt.
Unter PHP 7.2 kommt es jedoch zu der Problematik, dass z.B. die "language_phrases_cache" Tabelle auf Grund der vielen Datensätze nicht komplett verarbeitet werden kann. Bei einem erneuten Anstoss der Verarbeitung liegt dann für die Anwendung, welche die Verarbeitung fortsetzen soll, dann nur ein Teil der "language_phrases_cache" Datensätze vor. Dies ist fatal, da diese Datensätze zur Laufzeit der besagten Anwendung verwendet werden, um Konstanten in PHP zu definieren. Wenn also nicht alle Datensätze in der Tabelle vorliegen, können nicht alle notwendigen Konstanten definiert werden, was zur Folge hat, PHP 7.2 hier Warnings ausgibt.
Von Daniel Wu vor etwa 6 Jahren aktualisiert
- Zugewiesen an wurde auf Julian Heckmann gesetzt
Von Timo Backhaus vor etwa 6 Jahren aktualisiert
src/system/classes/db_backup/DBBackupControl.inc.php
if( $c_import_runnning && ( trim( $t_line ) == 'DROP TABLE IF EXISTS configuration;' || trim( $t_line ) == 'DROP TABLE IF EXISTS gm_configuration;') )
Hier muss die Tabelle "language_phrases_cache" hinzugefügt werden, damit an dieser Stelle der Ajax Request erneut gestartet wird.
Von Daniel Wu vor fast 6 Jahren aktualisiert
- Zugewiesen an
Julian Heckmannwurde gelöscht
Von Jonatas Fischer vor fast 6 Jahren aktualisiert
- Status wurde von Gemeldet zu In Bearbeitung geändert
- Zugewiesen an wurde auf Jonatas Fischer gesetzt
Von Jonatas Fischer vor fast 6 Jahren aktualisiert
- Status wurde von In Bearbeitung zu Testing geändert
- Zugewiesen an wurde von Jonatas Fischer zu Core-Entwickler geändert
- Zielversion wurde von 133 zu 3.12.0.0 beta1 geändert
- Release Notes Langtext aktualisiert (Vergleich)
- Betroffene Versionen 3.11.3.0 wurde hinzugefügt
- Betroffene Versionen
Unbestimmtwurde gelöscht
The error can't be reproduced except you have a big database and it happens when the ajax request timeout happens in the middle of the restore of the "language_phrases_cache" table.
Von Daniel Wu vor fast 6 Jahren aktualisiert
Von Tobias Schindler vor fast 6 Jahren aktualisiert
- Status wurde von Testing zu Erledigt geändert
- Zugewiesen an wurde von Core-Entwickler zu Tobias Schindler geändert
- % erledigt wurde von 0 zu 100 geändert