Introducción al Error 500 en PrestaShop
El Error 500 (Internal Server Error) es uno de los problemas más frustrantes a los que se enfrentan los administradores de tiendas online. Cuando este fallo ocurre en PrestaShop, puede bloquear tanto el panel de administración como la tienda visible para los clientes, mostrando una pantalla en blanco o un mensaje genérico. En este artículo te mostraremos cómo identificar la causa raíz y aplicar la solución definitiva.
Principales Causas del Error 500
Antes de aplicar cualquier solución, es importante entender por qué se produce este fallo. Las causas más comunes en PrestaShop incluyen:
- Incompatibilidad de versiones de PHP con módulos o temas instalados.
- Fallos o errores en la base de datos tras una actualización.
- Archivos corruptos debido a una transferencia FTP incompleta.
- Agotamiento de los recursos del servidor (límite de memoria RAM o tiempo de ejecución).
Método 1: Activar el Modo Debug para Ver el Error Real
Por defecto, PrestaShop oculta los detalles técnicos del error por seguridad. Para ver el mensaje exacto que está causando el fallo, debes activar el modo debug.
- Accede a tu servidor mediante un cliente FTP o el Administrador de Archivos de tu hosting.
- Navega hasta la carpeta raíz de tu instalación de PrestaShop.
- Entra en la carpeta
configy edita el archivodefines.inc.php. - Busca la línea que contiene
define('_PS_MODE_DEV_', false);y cámbiala atrue:
define('_PS_MODE_DEV_', true);
Guarda los cambios y recarga la página de tu tienda. Ahora verás el error específico en lugar de la pantalla en blanco.
Método 2: Aumentar el Límite de Memoria PHP
Muchas veces el Error 500 se debe a que PrestaShop necesita más recursos de los asignados actualmente en el servidor. Para solucionarlo, debes incrementar el límite de memoria.
- Accede al archivo
settings.inc.phpo al archivo.htaccessen la raíz de tu PrestaShop. - Añade la siguiente directiva para ampliar el límite de memoria:
php_value memory_limit 256M
Si tu servidor utiliza archivos de configuración de PHP como php.ini, asegúrate de actualizar el parámetro memory_limit = 256M y max_execution_time = 300.
Método 3: Desactivar Módulos Problemáticos via Base de Datos
Si el error comenzó justo después de instalar o actualizar un módulo, puedes desactivarlo directamente desde la base de datos usando phpMyAdmin si no tienes acceso al backoffice.
- Entra en phpMyAdmin desde el panel de control de tu hosting (cPanel o Plesk).
- Selecciona la base de datos de tu tienda PrestaShop.
- Busca la tabla llamada
ps_module(el prefijo 'ps_' puede variar). - Localiza el módulo que causa el conflicto y cambia el valor de la columna
activede1a0.
Una vez realizado este cambio, limpia la caché de PrestaShop eliminando el contenido de la carpeta var/cache/ en tu servidor y tu tienda volverá a funcionar con normalidad.