🛠️ Cómo solucionar el error «Incompatibilidad de PHP con Doctrine» en PrestaShop
Si tienes una tienda creada en PrestaShop (versión 1.7.x) y de repente tu sitio deja de funcionar mostrando un error de código parecido a este:
FatalErrorException Compile Error: Declaration of Doctrine\DBAL\Driver\PDOConnection::query() must be compatible with PDO::query(...)
¡No te preocupes! Esto ocurre simplemente porque la versión de PHP activa en tu plan de hosting es muy reciente (como PHP 8.1 o superior), y el sistema interno de PrestaShop 1.7 requiere una versión anterior para funcionar correctamente. A continuación, te explicamos cómo solucionarlo en dos sencillos pasos desde tu panel de control, ya sea cPanel o DirectAdmin.
⚙️ Paso 1: Bajar la versión de PHP a 7.4
El primer paso es ajustar la versión de PHP que utiliza tu cuenta de alojamiento web para que vuelva a ser compatible con tu tienda.
- Ingresa a tu panel de control Cpanel o DirectAdmin de tu hosting con PremiumHosting.
- Ve a la sección de Software o Funciones Avanzadas y busca la herramienta llamada Select PHP Version (o «Seleccionar versión de PHP»). Haz clic en ella.
- En la página que se abre, busca el menú desplegable que muestra tu versión actual de PHP y cámbiala por la versión 7.4.
- Por último, haz clic en el texto Set as current (Establecer como actual) o en el botón Aplicar para guardar los cambios de inmediato.
🧹 Paso 2: Limpiar la caché de PrestaShop
Una vez que hayas cambiado la versión de PHP, es un requisito obligatorio borrar los archivos temporales (caché) que PrestaShop había guardado cuando ocurrió el error. Si nos saltamos este paso, tu página web podría seguir en blanco o mostrando la falla.
- Vuelve a la página principal de tu panel de control (Cpanel o DirectAdmin) y busca la herramienta Administrador de Archivos (File Manager). Haz clic para abrirla.
- Ingresa a la carpeta donde tienes instalada tu tienda. Por lo general, es la carpeta llamada
public_html. Si la tienes en otro dominio, busca la carpeta con el nombre de tu sitio web. - Navega por las carpetas en el siguiente orden: entra a la carpeta
vary después entra a la carpetacache. - Allí adentro verás dos carpetas importantes:
prodydev. Debes ingresar a cada una de ellas, seleccionar todo el contenido (archivos y carpetas dentro de ellas) y eliminarlo. Para ser exactos, debes vaciar el contenido de estas rutas:
public_html/var/cache/prod/*
public_html/var/cache/dev/*
💡 Nota: Es muy importante que elimines solo el contenido que está dentro de esas carpetas. ¡Puedes hacerlo con total tranquilidad! Esto no borrará tus productos, clientes ni tu diseño. PrestaShop regenerará automáticamente estos archivos de caché la próxima vez que alguien visite tu tienda.
🎉 ¡Todo listo!
Ve a tu página web y recarga la pestaña en tu navegador. Tu tienda debería volver a cargar rápidamente y sin el error de Doctrine. Si después de seguir estos pasos sigues teniendo inconvenientes, te invitamos a abrir un ticket de soporte y nuestro equipo técnico en PremiumHosting te ayudará encantado.