Solución a errores comunes en PrestaShop 1.7 y 8
¿Te ha pasado que entras a tu tienda PrestaShop y te encuentras con una pantalla blanca sin ningún mensaje de error? ¿O que al intentar acceder al backend te aparece un mensaje críptico que no entiendes?
No te preocupes. Estos problemas son más comunes de lo que parece, especialmente en versiones como PrestaShop 1.7 y 8. Como técnico de soporte, he visto cientos de casos similares. En esta guía extensa y paso a paso, vamos a desglosar las soluciones a los errores PrestaShop más habituales, desde la temida pantalla blanca hasta problemas de base de datos o módulos.
Voy a explicarlo todo de forma muy sencilla, para que puedas solucionarlo tú mismo, incluso si no eres un experto en programación. ¡Vamos allá!
¿Por qué ocurren estos errores en PrestaShop 1.7 y 8?
Antes de meternos en faena, es importante entender por qué surgen estos problemas. PrestaShop es una plataforma muy potente, pero también compleja. Las causas más frecuentes son:
- Conflictos entre módulos o temas: Al instalar un nuevo módulo o plantilla, a veces no es compatible al 100% con tu versión.
- Problemas de caché: PrestaShop guarda archivos temporales para ir más rápido. Si estos se corrompen, todo puede fallar.
- Límites de memoria del servidor: Si tu tienda crece y el servidor no tiene suficiente memoria (RAM), PHP se bloquea y muestra una pantalla en blanco.
- Errores en la base de datos: Una tabla dañada o una consulta mal hecha pueden paralizar la tienda.
- Actualizaciones incompletas: Si actualizaste de una versión a otra y algo falló, es normal que aparezcan errores.
Ahora sí, veamos cómo solucionar cada uno.
Solución al error más temido: Pantalla Blanca en PrestaShop (White Screen of Death)
La pantalla blanca PrestaShop es, con diferencia, el error más frustrante. No ves nada, solo un fondo blanco. Pero no te asustes, tiene solución.
1. Activar el modo debug para ver el error real
Lo primero es descubrir qué está fallando. PrestaShop oculta los errores por defecto, pero podemos hacer que los muestre.
Paso a paso:
- Accede a tu servidor mediante FTP (FileZilla, por ejemplo) o al administrador de archivos de tu panel de control (cPanel, Syspanel, etc.).
- Busca el archivo llamado config/defines.inc.php dentro de la carpeta raíz de tu tienda.
- Ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.).
- Localiza esta línea:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda el archivo y súbelo de nuevo al servidor (si lo editaste localmente).
Ahora, al recargar tu tienda, en lugar de la pantalla blanca, verás un mensaje de error con detalles técnicos (por ejemplo: "Fatal error: Allowed memory size of..."). Escribe ese mensaje, te será muy útil.
[TIP] Una vez solucionado el problema, vuelve a poner
_PS_MODE_DEV_enfalsepara que los visitantes no vean errores internos.
2. Aumentar el límite de memoria PHP
Si el error dice algo como "Allowed memory size of X bytes exhausted", el problema es que a PHP se le acabó la memoria. Solución: aumentarla.
¿Cómo hacerlo?
- Opción A (Recomendada para principiantes): Desde el panel de control de tu hosting. Si usas Syspanel (el antiguo HestiaCP), accede a través del puerto 2106 (ejemplo:
tudominio.com:2106). Busca la sección "PHP" o "Configuración PHP" y cambia el valor dememory_limita256Mo incluso512M. - Opción B (Editando archivos): Si no tienes acceso a esa opción, crea o edita un archivo llamado
php.inien la raíz de tu tienda y añade:
memory_limit = 256M - Opción C (Usando .htaccess): Si no funciona lo anterior, añade esta línea al archivo
.htaccess(en la raíz):
php_value memory_limit 256M
3. Deshabilitar módulos y temas conflictivos
A veces, un módulo recién instalado es el culpable. Como no puedes acceder al backend, toca hacerlo manualmente.
- Ve a la carpeta
modulesde tu PrestaShop (por FTP). - Renombra la carpeta del módulo sospechoso añadiendo un guion bajo al final. Por ejemplo, si el módulo se llama
supermodulo, renómbralo asupermodulo_. Esto lo desactiva. - Si no sabes cuál es, renombra la carpeta del tema que estás usando (suele estar en
themes/nombredetutema). PrestaShop usará el tema por defecto (classic).
Recarga la tienda. Si funciona, ya sabes quién es el culpable.
[WARNING] No borres carpetas de módulos, solo renómbralas. Así podrás restaurarlas después.
Error 500 Internal Server Error en PrestaShop
Este error suele ir acompañado de un mensaje genérico. Las causas y soluciones son muy parecidas a la pantalla blanca.
Soluciones rápidas para el Error 500
- Revisa el archivo .htaccess: A veces se corrompe. Puedes generar uno nuevo desde el panel de administración (si accedes) o subir uno básico. Si no, renómbralo a
.htaccess_oldy prueba. Si funciona, ve a tu back office y en "Parámetros de la tienda > SEO y URLs" guarda de nuevo la configuración para regenerarlo. - Aumenta el límite de memoria (como vimos antes).
- Desactiva todos los módulos temporalmente: En la carpeta
modules, renombra TODAS las carpetas añadiendo un guion bajo. Luego ve probando de una en una. - Revisa los logs del servidor: Si tu hosting tiene acceso a los logs de error (a menudo en una carpeta llamada
logsoerror_log), revísalos. Te darán la pista exacta.
Error al instalar un módulo o tema: "No se puede instalar el módulo"
Este es un clásico, especialmente en PrestaShop 1.7 y 8.
Causas comunes y soluciones
-
El módulo no es compatible con tu versión de PHP: PrestaShop 8 requiere PHP 8.0 o superior. Si tu servidor usa PHP 7.4, muchos módulos modernos no funcionarán.
- Solución: Cambia la versión de PHP desde tu panel de control (Syspanel, cPanel, etc.). En Syspanel, ve a la sección de PHP y selecciona la versión recomendada por PrestaShop.
-
El módulo tiene dependencias no cumplidas: Algunos módulos necesitan que otros estén instalados.
- Solución: Lee la descripción del módulo antes de instalarlo.
-
Problemas de permisos de archivos: El servidor no tiene permiso para escribir en ciertas carpetas.
- Solución: Desde FTP, asegúrate de que las carpetas
modules,themes,overrideycachetengan permisos 755 (o 775 si el anterior no funciona). Los archivos dentro de ellas deben tener 644.
- Solución: Desde FTP, asegúrate de que las carpetas
Error de base de datos: "Table doesn't exist" o "MySQL server has gone away"
Estos errores suelen aparecer después de una actualización o una restauración incompleta.
Cómo reparar la base de datos
- Accede a phpMyAdmin: Desde tu panel de control (Syspanel, cPanel, etc.). En Syspanel, busca la opción "phpMyAdmin".
- Selecciona la base de datos de tu tienda.
- Marca todas las tablas (suele haber un checkbox en la parte inferior).
- En el menú desplegable "Con seleccionados", elige "Reparar tabla" (o "Repair table").
Esto suele arreglar tablas dañadas. Si el error persiste, puede que la base de datos esté corrupta y necesites restaurar una copia de seguridad.
[INFO] Siempre, siempre, haz una copia de seguridad de tu base de datos antes de hacer cualquier cambio importante. Es tu salvavidas.
Error "El token de seguridad no es válido" al acceder al back office
Este error impide que entres al panel de administración.
Pasos para solucionarlo
- Borra las cookies de tu navegador para ese dominio.
- Prueba con otro navegador (Chrome, Firefox, Edge).
- Si no funciona, hay que regenerar la clave del back office:
- Ve a la carpeta
configde tu tienda (por FTP). - Abre el archivo
settings.inc.php. - Busca la línea que empieza por
define('_COOKIE_KEY_',y la dedefine('_COOKIE_IV_',. - No las borres, pero si tienes una copia de seguridad anterior, puedes sustituirlas por las antiguas. Si no, tendrás que acceder a la base de datos (phpMyAdmin) y en la tabla
ps_configurationbuscarPS_COOKIE_KEYyPS_COOKIE_IVy cambiar sus valores por unos nuevos (puedes generar cadenas aleatorias largas).
- Ve a la carpeta
Preguntas Frecuentes (FAQ) sobre errores en PrestaShop
¿Por qué mi tienda PrestaShop 1.7 va muy lenta?
Puede deberse a varios factores: módulos mal optimizados, falta de caché, imágenes sin comprimir, o un servidor con recursos limitados. Te recomiendo activar la caché interna de PrestaShop (en Preferencias > Rendimiento) y usar un servicio de CDN.
¿Cómo puedo saber qué versión de PHP usa mi servidor?
Si usas Syspanel, accede a tu panel (puerto 2106) y busca la sección "PHP" o "Configuración del servidor". Allí verás la versión activa. También puedes crear un archivo llamado info.php en la raíz de tu tienda con el contenido <?php phpinfo(); ?> y acceder a él desde el navegador.
He actualizado a PrestaShop 8 y ahora todo falla, ¿qué hago?
Las actualizaciones mayores (de 1.7 a 8) son delicadas. Lo primero es asegurarte de que todos tus módulos y tu tema sean compatibles con PrestaShop 8. Si no lo son, tendrás que desactivarlos o buscar alternativas. Si el error es muy grave, restaura una copia de seguridad anterior y contacta con el desarrollador de tu tema o módulos.
El error de pantalla blanca solo aparece en el back office, no en la tienda.
Esto suele indicar un problema con un módulo específico del back office o con el tema del administrador. Prueba a desactivar módulos relacionados con la administración (como los de estadísticas o dashboards) renombrando sus carpetas.
No puedo acceder a mi panel de control (Syspanel), ¿qué hago?
El acceso a Syspanel suele ser a través del puerto 2106 (ejemplo: tudominio.com:2106). Si no recuerdas la contraseña, contacta con tu proveedor de hosting para que te la restablezca. Si el panel no carga, puede ser un problema del servidor; en ese caso, el soporte técnico de tu hosting es tu mejor aliado.
Consejo final: Prevenir antes que curar
La mejor solución a los errores es no tener que solucionarlos. Aquí van mis recomendaciones de oro:
- Haz copias de seguridad frecuentes (base de datos y archivos). Automatiza este proceso si es posible.
- Actualiza PrestaShop y sus módulos solo cuando estés seguro de la compatibilidad. Lee las notas de la versión.
- No instales módulos de fuentes no oficiales o que no tengan buen soporte.
- Mantén un entorno de pruebas (staging) donde puedas hacer pruebas antes de aplicar cambios en la tienda real.
Espero que esta guía te haya sido de gran ayuda. Recuerda que, ante cualquier duda, lo mejor es documentar bien el error y, si es necesario, pedir ayuda a un profesional. ¡Tu tienda volverá a funcionar en poco tiempo!
