Solucionar problemas

Error de zonas horarias de GLPI con MariaDB o MySQL

Revisado el 4 min de lectura base de datos errores

Si al actualizar o instalar GLPI ves el siguiente mensaje durante la verificación de requisitos:

Datos de la zona horaria de la base de datos
Activar el uso de zonas horarias.
Las zonas horarias no parecen estar cargadas

El aviso confirma que GLPI no puede habilitar las zonas horarias, pero la versión de GLPI determina si falta únicamente cargar los datos o también un permiso.

Por qué ocurre este error

GLPI 9.5 incorporó el uso de TIMESTAMP para trabajar con zonas horarias. En todos los casos, MariaDB o MySQL debe tener cargadas sus tablas de zonas horarias.

  • GLPI 10.0.20 o posterior: no necesita acceso del usuario de la aplicación a mysql.time_zone_name.
  • GLPI anterior a 10.0.20: además de los datos cargados, necesita SELECT sobre mysql.time_zone_name.

Por qué no puedes solucionarlo tú mismo

En un hosting compartido, la tabla mysql.time_zone_name pertenece al sistema de la base de datos, no a tu cuenta. Esto significa que:

  • No tienes permisos administrativos para cargar las zonas horarias con mariadb-tzinfo-to-sql o su alias mysql_tzinfo_to_sql.
  • No puedes ejecutar GRANT sobre tablas del sistema si una versión antigua de GLPI lo requiere.

Estas operaciones requieren privilegios administrativos sobre el servidor de base de datos, no necesariamente una cuenta llamada root.

Cómo solucionarlo

Para que activemos el soporte de zonas horarias en tu instalación de GLPI:

  1. Accede al área de clientes.
  2. Dirígete a la sección Ayuda y abre un nuevo ticket.
  3. Indica que necesitas activar el soporte de zonas horarias en MariaDB/MySQL para GLPI e incluye la versión de GLPI y el nombre de tu usuario de base de datos, que encontrarás en config/config_db.php. No envíes la contraseña.

Nuestro equipo realizará las configuraciones necesarias y te notificará cuando esté listo para que puedas continuar con la actualización.

Si actualizas desde una versión antigua y GLPI detecta columnas DATETIME, revisa también el comando oficial php bin/console glpi:migration:timestamps; puede ser una migración larga y debe ensayarse con copia verificada.

Consulta la documentación oficial de zonas horarias de GLPI. MySQL limita TIMESTAMP a enero de 2038; MariaDB amplió ese rango a partir de la versión 11.5. Valora el límite efectivo del servidor si la aplicación necesita almacenar fechas posteriores.

Comprobar tras la intervención

Vuelve a ejecutar la comprobación de requisitos con el mismo PHP y conexión que utiliza GLPI. Después prueba la visualización y edición de una fecha con la zona esperada. Cambiar la zona en PHP no carga las tablas de zonas de MySQL ni completa una migración de columnas.

Si se solicita una migración de timestamps, conserva el estado inicial y revisa su duración y resultado en un clon. No ejecutes el comando varias veces en paralelo ni cambies directamente todas las columnas por SQL sin el procedimiento de esa versión.

También te puede ayudar

¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.