Solucionar errores comunes en PrestaShop (white screen, 500, etc.)
Si eres dueño de una tienda online con PrestaShop, es muy probable que en algún momento te hayas encontrado con algún mensaje de error inesperado. Ver una pantalla blanca o un error 500 puede ser frustrante, especialmente si no sabes por dónde empezar a buscar la solución. Pero no te preocupes, en esta guía vamos a desglosar los errores PrestaShop más comunes, explicarte por qué ocurren y, lo más importante, cómo solucionar problemas PrestaShop paso a paso, incluso si no eres un experto en programación.
Vamos a cubrir desde la temida pantalla blanca PrestaShop hasta el clásico error 500, pasando por otros problemas habituales. Todo explicado de forma clara y didáctica.
¿Por qué ocurren estos errores en PrestaShop?
Antes de lanzarnos a las soluciones, es útil entender el origen. PrestaShop es un sistema complejo que combina PHP, una base de datos (MySQL/MariaDB), archivos de configuración y una gran cantidad de módulos y temas. Cualquier conflicto entre estos elementos puede provocar un error.
Las causas más frecuentes suelen ser:
- Actualizaciones fallidas de PrestaShop, módulos o temas.
- Conflictos entre módulos o entre un módulo y el tema.
- Problemas de permisos de archivos (el servidor no puede leer o escribir ciertos archivos).
- Límites de memoria de PHP insuficientes para ejecutar procesos pesados.
- Errores en la base de datos (tablas corruptas, datos inconsistentes).
- Archivos corruptos durante una subida por FTP o una actualización.
- Versiones incompatibles de PHP con tu versión de PrestaShop.
1. Cómo solucionar la temida Pantalla Blanca (White Screen)
La pantalla blanca PrestaShop es, sin duda, uno de los errores más desconcertantes. Simplemente ves una página en blanco, sin ningún mensaje de error. Esto significa que PrestaShop no puede cargarse y el error está siendo ocultado por la configuración de PHP.
### Paso 1: Activar el modo debug de PrestaShop
Para ver el error real detrás de la pantalla blanca, necesitas activar el modo de depuración (debug).
- Accede a tu hosting a través de FTP o del administrador de archivos de tu panel (por ejemplo, Syspanel, cuyo puerto de acceso es el 2106).
- Localiza el archivo
config/defines.inc.phpen la raíz de tu instalación de PrestaShop. - Edita el archivo y busca la siguiente línea:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda el archivo y recarga tu tienda.
[INFO] Ahora, en lugar de la pantalla blanca, verás un mensaje de error detallado (por ejemplo, "Fatal error: Allowed memory size of..."). Anota ese mensaje, ya que te indicará exactamente qué archivo o línea está causando el problema.
### Paso 2: Soluciones rápidas según el error
Una vez que tengas el mensaje de error, puedes actuar:
-
Si el error es de memoria (Allowed memory size): Aumenta el límite de memoria PHP. Puedes hacerlo desde el archivo
config/defines.inc.phpañadiendo al final (antes del<?php):
ini_set('memory_limit', '256M');
También puedes hacerlo desde el archivo.htaccessen la raíz, añadiendo:
php_value memory_limit 256M -
Si el error menciona un módulo específico: Desactiva ese módulo. La forma más segura es renombrar la carpeta del módulo en
/modules/nombre_del_moduloa/modules/nombre_del_modulo_old. Esto forzará a PrestaShop a desactivarlo. -
Si el error menciona el tema (theme): Cambia temporalmente al tema predeterminado. Renombra la carpeta de tu tema en
/themes/tu_temaa/themes/tu_tema_old. PrestaShop debería cargar el tema por defecto (Classic o el que viniera de serie).
### Paso 3: Desactivar el modo debug
Una vez solucionado el problema, es muy importante que vuelvas a poner _PS_MODE_DEV_ a false. De lo contrario, tu tienda mostrará información sensible a los visitantes.
2. Cómo arreglar el Error 500 (Internal Server Error)
El error 500 PrestaShop es igual de común. A diferencia de la pantalla blanca, a veces muestra un mensaje, pero no siempre. Este error indica un problema general del servidor, a menudo relacionado con archivos .htaccess, módulos defectuosos o problemas de configuración del servidor.
### Solución 1: Regenerar el archivo .htaccess
El archivo .htaccess es crítico para el funcionamiento de las URLs amigables. Si se corrompe, obtendrás un error 500.
- Conéctate por FTP o al administrador de archivos.
- Localiza el archivo
.htaccessen la raíz de tu tienda. - Renómbralo a
.htaccess_oldpara desactivarlo. - Ve al panel de administración de PrestaShop (si puedes acceder).
- Ve a Configuración de la tienda > Tráfico y SEO > URLs amigables.
- Sin cambiar nada, haz clic en Guardar. Esto regenerará el archivo
.htaccessautomáticamente.
[TIP] Si no puedes acceder al panel de administración, puedes crear un archivo
.htaccessbásico desde cero (con el contenido por defecto que suele proporcionar tu hosting) o pedirle a tu soporte técnico que lo genere.
### Solución 2: Verificar los permisos de archivos y carpetas
Los permisos incorrectos son una causa muy frecuente del error 500.
- Carpetas: Deben tener permisos 755.
- Archivos: Deben tener permisos 644.
Puedes cambiarlos desde tu cliente FTP (seleccionando todos los archivos y asignando los permisos) o desde la terminal si tienes acceso SSH. Si usas Syspanel, busca la opción "Permisos de archivos" en el gestor de archivos.
### Solución 3: Desactivar módulos problemáticos desde la base de datos
Si el error 500 te impide incluso acceder al panel de administración, puedes desactivar todos los módulos no nativos desde la base de datos.
- Accede a phpMyAdmin (normalmente disponible en tu panel de hosting, como Syspanel en el puerto 2106).
- Selecciona la base de datos de tu PrestaShop.
- Ejecuta la siguiente consulta SQL:
(Nota:UPDATE ps_module SET active = 0 WHERE id_module > 1;ps_es el prefijo por defecto. Si cambiaste el prefijo durante la instalación, ajústalo). - Esto desactivará todos los módulos de terceros. Luego, intenta acceder de nuevo a tu tienda. Si funciona, el problema está en uno de esos módulos. Puedes ir activándolos uno por uno desde el panel de administración para identificar al culpable.
3. Otros errores comunes y cómo solucionarlos
Además de la pantalla blanca y el error 500, hay otros errores PrestaShop que aparecen con frecuencia.
### Error "Fatal error: Class 'X' not found"
Este error suele ocurrir después de una actualización incompleta o al instalar un módulo incompatible.
- Solución: Asegúrate de que todos los archivos de la clase faltante (normalmente en
/classes/o/override/classes/) estén presentes. Si el error proviene de un módulo, desactívalo. Si es del núcleo, puedes intentar sobrescribir los archivos de tu PrestaShop con una copia limpia de la misma versión (subiendo solo la carpeta/classesy/controllersde la nueva instalación).
### Error "MySQL server has gone away"
Este error indica que la conexión con la base de datos se ha perdido, a menudo por un tiempo de espera demasiado corto o por consultas muy pesadas.
- Solución: Aumenta el tiempo de espera de MySQL. Si tienes acceso a la configuración del servidor (en Syspanel busca "Configuración de MySQL"), puedes aumentar el valor
wait_timeoutymax_allowed_packet. Si no, contacta a tu proveedor de hosting.
### Error al subir imágenes o productos
Suele deberse a límites de subida de archivos en PHP.
- Solución: Aumenta los valores de
upload_max_filesizeypost_max_sizeen el archivophp.inio en el.htaccess:php_value upload_max_filesize 64M php_value post_max_size 64M
4. Medidas preventivas para evitar futuros errores
La mejor forma de solucionar problemas PrestaShop es no tenerlos. Aquí tienes algunos consejos para mantener tu tienda estable:
- Siempre haz una copia de seguridad completa (archivos y base de datos) antes de cualquier actualización o modificación importante. La mayoría de los paneles de hosting, como Syspanel (puerto 2106), ofrecen herramientas de backup automáticas.
- Actualiza PrestaShop, módulos y temas por separado y uno a uno. No hagas todo a la vez.
- Prueba los cambios en un entorno de pruebas (staging) si es posible, antes de aplicarlos en tu tienda en producción.
- Mantén tu versión de PHP actualizada pero compatible con tu versión de PrestaShop. Consulta los requisitos de PrestaShop oficiales.
- Elimina los módulos y temas que no uses. Tenerlos inactivos no garantiza que no puedan causar conflictos.
- Revisa los logs de error de tu servidor periódicamente. En Syspanel, puedes encontrar los logs de error en la sección "Registros del servidor" o "Logs".
Preguntas Frecuentes (FAQ)
P: ¿Qué hago si después de activar el modo debug sigo viendo una pantalla blanca?
R: Puede que el error sea tan grave que impida cargar el archivo defines.inc.php. En ese caso, intenta aumentar la memoria PHP directamente desde el archivo .htaccess como se explicó antes, o desactiva módulos desde la base de datos.
P: ¿Es seguro desactivar todos los módulos desde la base de datos?
R: Sí, es seguro. Solo desactiva los módulos de terceros (los que no son de fábrica). Los módulos nativos de PrestaShop no se verán afectados. Una vez que accedas, puedes reactivarlos.
P: No encuentro el archivo .htaccess en mi servidor. ¿Qué hago?
R: Asegúrate de que tu cliente FTP esté configurado para mostrar archivos ocultos (aquellos que empiezan con un punto). Si no aparece, puedes crearlo desde el panel de administración de PrestaShop (en Tráfico y SEO) o pidiendo a tu hosting que lo genere.
P: Mi error 500 apareció después de instalar un módulo. ¿Cómo lo desactivo si no puedo entrar al panel?
R: Usa la solución de la base de datos explicada en el paso 3 del error 500, o renombra la carpeta del módulo sospechoso en /modules/ para desactivarlo de forma forzada.
P: ¿Cada cuánto debo hacer copias de seguridad?
R: Idealmente, antes de cualquier cambio. Como mínimo, una copia de seguridad semanal de la base de datos y mensual de todos los archivos. Automatiza este proceso si tu panel de hosting lo permite.
Con esta guía, esperamos que te sientas más preparado para enfrentar los errores PrestaShop más comunes. Recuerda que la paciencia y el método son clave: identifica el error, busca la causa y aplica la solución paso a paso. Si el problema persiste, no dudes en contactar al soporte técnico de tu hosting, proporcionándoles el mensaje de error exacto que hayas obtenido. ¡Buena suerte con tu tienda!
