Cómo solucionar el error 500 en PrestaShop (White Screen)
¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, seguramente te has encontrado con la temida pantalla blanca en tu tienda PrestaShop. No te preocupes, es uno de los errores más comunes y, por suerte, casi siempre tiene solución. Vamos a desglosar paso a paso cómo diagnosticar y solucionar el error 500 PrestaShop (también conocido como White Screen of Death).
Este error significa que tu servidor no puede procesar la solicitud, pero no te da más detalles. La causa puede ser desde un módulo conflictivo hasta un límite de memoria excedido. Lo bueno es que, siguiendo esta guía, podrás identificar el problema y restaurar tu tienda.
¿Qué causa el error 500 o pantalla blanca en PrestaShop?
Antes de lanzarnos a soluciones técnicas, es útil entender qué lo provoca. Las causas más frecuentes son:
- Módulos o temas incompatibles: Al instalar o actualizar un módulo/tema, puede generar un conflicto con el núcleo de PrestaShop.
- Límite de memoria PHP insuficiente (memory_limit): PrestaShop necesita un mínimo de memoria para funcionar. Si es muy bajo, el proceso se corta y ves la pantalla blanca.
- Archivos .htaccess corruptos: Este archivo es vital para las URL amigables. Si se daña, el sistema colapsa.
- Permisos de archivos incorrectos: Si los archivos o carpetas no tienen los permisos adecuados, el servidor no puede leerlos o escribirlos.
- Errores en la configuración de PHP (php.ini): Valores como
max_execution_timeoupload_max_filesizemuy restrictivos pueden provocar el error. - Problemas con la base de datos: Una tabla corrupta o una consulta mal formada también pueden desencadenar el error 500.
Paso 1: El primer diagnóstico – Activar el modo debug de PrestaShop
Lo más frustrante del error 500 es que no ves ningún mensaje. Por defecto, PrestaShop oculta los errores para no mostrar información sensible a los visitantes. Para ver el error real, debemos activar el modo debug.
¿Cómo activar el modo debug?
Tienes que editar el archivo config/defines.inc.php que está en la raíz de tu instalación de PrestaShop. Puedes hacerlo a través del panel de control de tu hosting (Syspanel, cPanel, etc.) o mediante FTP.
- Accede a tu hosting. Si usas Syspanel (recuerda, el puerto es el 2106), ve a la sección "Administrador de archivos".
- Localiza el archivo
config/defines.inc.phpy ábrelo con un editor de texto. - Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda el archivo.
[WARNING] ¡Cuidado! Una vez que soluciones el error, vuelve a poner
falsepara no mostrar errores a tus clientes. Si no, cualquiera podría ver información sensible de tu servidor.
Ahora, recarga la página que daba el error 500. En lugar de la pantalla blanca, verás un mensaje de error detallado, como por ejemplo: Fatal error: Allowed memory size of 33554432 bytes exhausted... o Class 'MiModulo' not found. Ese mensaje es la clave para saber qué hacer.
Paso 2: Soluciones rápidas y comunes para el error 500
Dependiendo del mensaje de error que veas, la solución será una u otra. Aquí tienes las más comunes.
2.1 Aumentar el límite de memoria PHP (memory_limit)
Si ves un error de memoria agotada (como el del ejemplo anterior), la solución es aumentar el límite.
Opción A: Desde tu panel de control (Syspanel)
- Inicia sesión en Syspanel (puerto 2106).
- Ve a Ajustes de PHP o PHP Selector.
- Busca la opción
memory_limity cámbiala a256Mo incluso512Msi tu hosting lo permite. - Guarda los cambios. El servidor se reiniciará automáticamente.
Opción B: Editando el archivo .htaccess
Si no tienes acceso a los ajustes de PHP, puedes añadir una línea al archivo .htaccess (en la raíz de PrestaShop).
- Abre el archivo
.htaccesscon un editor de texto. - Al principio del archivo, añade esta línea:
php_value memory_limit 256M - Guarda y sube el archivo.
[TIP] Si no ves el archivo
.htaccess, es posible que esté oculto. Activa la opción "Mostrar archivos ocultos" en tu gestor de archivos o FTP.
2.2 Desactivar módulos conflictivos
Si el error menciona un módulo específico (por ejemplo, Class 'MiModulo' not found), ese módulo es el culpable. Para desactivarlo sin acceder al backoffice (que está roto), haz lo siguiente:
- Accede a tu base de datos a través de phpMyAdmin (suele estar en tu panel de control).
- Busca la tabla
ps_module(el prefijops_puede variar según tu instalación). - Localiza el módulo problemático por su nombre.
- Cambia el valor de la columna
activede1a0. - Guarda el cambio. Recarga tu tienda.
2.3 Regenerar el archivo .htaccess
Un .htaccess corrupto es otra causa común. Para regenerarlo:
- Conéctate por FTP o al administrador de archivos.
- Renombra el archivo
.htaccessa.htaccess_old(esto lo desactiva). - Ve al backoffice de PrestaShop (si puedes acceder) a Configuración de la tienda > Tráfico y SEO > URL amigables.
- Sin hacer ningún cambio, haz clic en Guardar. Esto regenerará un nuevo
.htaccess.
Si no puedes acceder al backoffice, crea un archivo .htaccess vacío con permisos 644 y luego intenta acceder al backoffice. A veces, con solo existir, el sistema lo regenera.
2.4 Verificar permisos de archivos y carpetas
Los permisos incorrectos pueden impedir que PrestaShop lea o escriba archivos.
- Carpetas: Deben tener permisos
755. - Archivos: Deben tener permisos
644.
Puedes cambiar los permisos de forma masiva desde Syspanel o FTP. Busca la opción "Cambiar permisos" o "CHMOD". Aplica 755 a todas las carpetas y 644 a todos los archivos.
Paso 3: Soluciones avanzadas (si lo anterior no funciona)
Si sigues viendo la pantalla blanca, toca investigar más a fondo.
3.1 Comprobar los logs del servidor
Los logs del servidor son el diario de a bordo de tu hosting. Ahí se registran todos los errores.
- En Syspanel (puerto 2106), busca la sección Logs o Registros de errores.
- Busca el archivo
error_logen la raíz de tu cuenta de hosting. - Ábrelo y busca la fecha y hora en que ocurrió el error 500. Verás líneas como
[error] [client x.x.x.x] PHP Fatal error:...que te darán la pista definitiva.
3.2 Deshabilitar el tema por defecto
A veces, el problema es el tema que estás usando. Para comprobar si es el tema:
- Ve a la carpeta
themesen tu instalación de PrestaShop. - Busca la carpeta de tu tema activo (por ejemplo,
classico el nombre de tu tema). - Renómbrala (por ejemplo, a
mi-tema-backup). - PrestaShop, al no encontrar el tema, intentará cargar uno por defecto. Si el error desaparece, el problema es tu tema. Contacta con su desarrollador.
3.3 Aumentar el tiempo de ejecución de PHP (max_execution_time)
Si el error aparece al hacer una importación masiva o una actualización, puede que el script se esté ejecutando durante demasiado tiempo.
- Desde Syspanel (ajustes de PHP), cambia
max_execution_timea300(5 minutos) o incluso600. - O añade al
.htaccess:php_value max_execution_time 300
Preguntas Frecuentes (FAQ) sobre el error 500 en PrestaShop
P: ¿El error 500 puede deberse a un plugin de caché?
R: Sí, totalmente. Los plugins de caché como "PrestaShop Cache" o "Varnish" a veces guardan versiones corruptas de las páginas. Prueba a limpiar la caché desde el backoffice (si puedes) o desactivando el plugin desde la base de datos.
P: Mi hosting es muy básico, ¿puedo solucionar el error 500 sin acceso a Syspanel?
R: Sí, aunque es más limitado. Siempre puedes usar FTP para editar archivos como config/defines.inc.php o .htaccess. Para desactivar módulos, necesitarás acceso a phpMyAdmin, que suele estar disponible incluso en planes básicos.
P: Después de hacer todos los pasos, sigo viendo la pantalla blanca. ¿Qué hago?
R: No desesperes. A veces el problema es más profundo. Te recomiendo:
- Contactar con tu proveedor de hosting: Ellos pueden ver los logs del servidor a nivel de sistema.
- Revisar la integridad de los archivos: Descarga una copia limpia de PrestaShop (la misma versión que tienes) y reemplaza los archivos del núcleo (carpetas
classes,controllers,override, etc.) por los originales. CUIDADO: Esto puede sobrescribir tus personalizaciones, así que haz una copia de seguridad antes.
P: ¿Qué hago si el error solo ocurre en el backoffice?
R: El proceso es el mismo. Activa el modo debug para ver el error. Suele ser un módulo conflictivo en el panel de administración o un problema con la sesión de usuario. Prueba a borrar las cookies de tu navegador o a usar otro navegador.
P: ¿Puedo evitar el error 500 en el futuro?
R: ¡Claro! Sigue estos consejos:
- Mantén PrestaShop, módulos y temas actualizados.
- Haz copias de seguridad frecuentes (archivos y base de datos).
- Antes de instalar un módulo nuevo, pruébalo en un entorno de pruebas si es posible.
- No superes los límites de tu hosting. Si tu tienda crece, contrata un plan superior.
Espero que esta guía te haya sido de gran ayuda para solucionar el error PrestaShop. Recuerda que la paciencia y el método son clave. Si te quedas atascado, no dudes en buscar ayuda profesional o en los foros de la comunidad de PrestaShop. ¡Tu tienda volverá a funcionar en poco tiempo!
