Fehlerbehebung

Zeitzonenfehler von GLPI mit MariaDB oder MySQL

Geprüft am 3 Min. Lesezeit base de datos errores

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 SELECT auf mysql.time_zone_name nö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-sql oder dessen Alias mysql_tzinfo_to_sql zu laden.
  • Sie können kein GRANT auf 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:

  1. Melden Sie sich im Kundenbereich an.
  2. Öffnen Sie den Bereich Hilfe und eröffnen Sie ein neues Ticket.
  3. 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.php finden. 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

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.