Fehlerbehebung
Zeitzonenfehler von GLPI mit MariaDB oder MySQL
Wenn Sie beim Aktualisieren oder Installieren von GLPI während der Prüfung der Anforderungen folgende Meldung sehen:
Datos de la zona horaria de la base de datos Activar el uso de zonas horarias. Las zonas horarias no parecen estar cargadas
Die Warnung bestätigt, dass GLPI die Zeitzonen nicht aktivieren kann; von der GLPI-Version hängt aber ab, ob nur die Daten fehlen oder auch eine Berechtigung.
Warum dieser Fehler auftritt
GLPI 9.5 hat TIMESTAMP eingeführt, um mit Zeitzonen zu arbeiten. In jedem Fall müssen in MariaDB oder MySQL die Zeitzonentabellen geladen sein.
- GLPI 10.0.20 oder neuer: Der Benutzer der Anwendung braucht keinen Zugriff auf
mysql.time_zone_name. - GLPI vor 10.0.20: Neben den geladenen Daten ist
SELECTaufmysql.time_zone_namenötig.
Warum Sie das nicht selbst beheben können
Im Shared Hosting gehört die Tabelle mysql.time_zone_name zum Datenbanksystem, nicht zu Ihrem Konto. Das bedeutet:
- Sie haben keine Administratorrechte, um die Zeitzonen mit
mariadb-tzinfo-to-sqloder dessen Aliasmysql_tzinfo_to_sqlzu laden. - Sie können kein
GRANTauf Systemtabellen ausführen, wenn eine alte GLPI-Version es verlangt.
Diese Operationen erfordern Administratorrechte auf dem Datenbankserver, nicht unbedingt ein Konto namens root.
So beheben Sie das Problem
Damit wir die Zeitzonenunterstützung für Ihre GLPI-Installation aktivieren:
- Melden Sie sich im Kundenbereich an.
- Öffnen Sie den Bereich Hilfe und eröffnen Sie ein neues Ticket.
- Geben Sie an, dass Sie die Zeitzonenunterstützung in MariaDB/MySQL für GLPI aktivieren lassen möchten, und nennen Sie die GLPI-Version und den Namen Ihres Datenbankbenutzers, den Sie in
config/config_db.phpfinden. Senden Sie nicht das Passwort.
Unser Team nimmt die nötigen Einstellungen vor und benachrichtigt Sie, sobald alles bereit ist, damit Sie mit dem Update fortfahren können.
Wenn Sie von einer alten Version aktualisieren und GLPI DATETIME-Spalten erkennt, prüfen Sie auch den offiziellen Befehl php bin/console glpi:migration:timestamps; die Migration kann lange dauern und sollte mit einem geprüften Backup getestet werden.
Lesen Sie die offizielle Dokumentation zu Zeitzonen in GLPI. MySQL begrenzt TIMESTAMP auf Januar 2038; MariaDB hat diesen Bereich ab Version 11.5 erweitert. Berücksichtigen Sie das tatsächliche Limit des Servers, wenn die Anwendung spätere Daten speichern muss.
Nach dem Eingriff prüfen
Führen Sie die Prüfung der Anforderungen erneut mit demselben PHP und derselben Verbindung aus, die GLPI verwendet. Testen Sie danach Anzeige und Bearbeitung eines Datums mit der erwarteten Zeitzone. Die Zeitzone in PHP zu ändern, lädt weder die Zeitzonentabellen von MySQL noch schließt es eine Spaltenmigration ab.
Wird eine Timestamp-Migration angefordert, bewahren Sie den Ausgangszustand auf und prüfen Sie Dauer und Ergebnis in einem Klon. Führen Sie den Befehl nicht mehrfach parallel aus und ändern Sie nicht alle Spalten direkt per SQL ohne das Verfahren dieser Version.
Das könnte Ihnen auch helfen
- Fehler „Argument X passed OrderProductForViewing must be of the type string“ Ermitteln Sie das genaue Argument und die genaue Zeile, die beim Anzeigen einer PrestaShop-Bestellun...
- Fehler „Shop not found at line xxx in file classes/shop/Shop.php“ Finden Sie die Ursache von Shop not found, indem Sie die angeforderte URL, shop_url und den Geltungs...
- PrestaShopException: Invalid address diagnostizieren Finden Sie den genauen Verweis, der Invalid address auslöst, und bereinigen Sie nur Warenkörbe ohne...
- PrestaShop, übermäßige Größe der Tabelle layered_filter_block Messen und leeren Sie den Cache der Facettensuche, unterscheiden Sie ihn vom Preisindex und aktualis...
Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.