Solucionar problemas

Error SQLSTATE 2026 al instalar o actualizar PrestaShop

Revisado el 3 min de lectura mysql compatibilidad prestashop

El aviso de Doctrine sobre server_version es envolvente. En esta traza, el dato más específico es SQLSTATE[HY000] [2026]: la conexión SSL con MySQL falla antes de que Doctrine pueda consultar la versión del servidor.

[WARNING] Some commands could not be registered. An exception occurred in ConnectionFactory.php
while establishing a connection to figure out your platform version.
You can circumvent this by setting a 'server_version' configuration value.
For further information, visit: https://github.com/doctrine/DoctrineBundle/issues/673.
In AbstractMySQLDriver.php, an exception occurred in driver:
SQLSTATE[HY000] [2026] SSL connection error: SSL_CTX_set_default_verify_paths failed.
The same error is repeated in Exception.php and PDOConnection.php:
SQLSTATE[HY000] [2026] SSL connection error: SSL_CTX_set_default_verify_paths failed.

No cambies 1013 por 1016 en app/config/doctrine.yml: la configuración oficial utiliza 1013 para PDO::MYSQL_ATTR_MULTI_STATEMENTS y esa opción no corrige las rutas de certificados que señala SSL_CTX_set_default_verify_paths failed.

Comprobaciones

  1. Confirma que la instalación web y el proceso que ejecuta la actualización usan la misma versión de PHP y la misma extensión pdo_mysql.
  2. Conserva la excepción completa y revisa el registro de PHP del mismo minuto. Busca errores sobre OpenSSL, certificados CA o una ruta de certificados inexistente.
  3. Si administras el servidor, comprueba la configuración SSL del cliente MySQL y las rutas CA del PHP que ejecuta PrestaShop. No desactives la verificación TLS para hacer funcionar la actualización.
  4. En hosting compartido, abre un ticket con el dominio, la hora aproximada, las versiones de PrestaShop y PHP y la excepción completa. No incluyas contraseñas.

Fijar server_version puede evitar la autodetección de Doctrine cuando la conexión ya funciona, pero no repara una conexión que falla con SQLSTATE 2026. Un cambio entre implementaciones PDO solo debe probarse si soporte confirma que corresponde al selector PHP y al error observado en ese servidor.

Antes de reintentar una actualización, crea una copia verificada y sigue la documentación oficial de actualización de PrestaShop.

Antes de volver a ejecutar el instalador

Comprueba si el intento anterior llegó a modificar tablas o archivos. Una conexión fallida puede ser el primer error, pero una actualización interrumpida en otra fase podría dejar cambios parciales. Conserva el log y vuelve al punto coherente previsto antes de repetir una operación que escriba datos.

El PHP de la terminal y el del dominio pueden utilizar archivos de configuración y almacenes CA distintos. Facilita cuál ejecutó el proceso; cambiar solo el selector web no acredita que un comando de consola use la nueva configuración.

También te puede ayudar

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