Cómo solucionar el error 500 en PrestaShop (cPanel/Plesk)
¿Te has encontrado con el temido error 500 en PrestaShop? Esa pantalla en blanco con el mensaje "Error interno del servidor" puede ser frustrante, pero no te preocupes: en la mayoría de los casos tiene solución y no necesitas ser un experto en programación para resolverlo.
Este error es genérico, lo que significa que el servidor no puede procesar tu solicitud, pero no te da detalles específicos. Sin embargo, con un enfoque paso a paso, podrás identificar la causa y solucionar el error 500 en tu tienda PrestaShop, ya sea que uses cPanel, Plesk o Syspanel (HestiaCP, puerto 2106).
Vamos a desglosar las causas más comunes y las soluciones prácticas, desde las más simples hasta las más técnicas. Al final, también incluimos una sección de preguntas frecuentes para que resuelvas dudas rápidas.
¿Qué es el error 500 en PrestaShop?
El PrestaShop error interno servidor (código 500) es una respuesta genérica del servidor web (Apache, Nginx, LiteSpeed, etc.) que indica que algo salió mal, pero no especifica qué. En PrestaShop, suele aparecer al intentar acceder al front-end (la tienda) o al back-office (panel de administración).
Las causas más frecuentes son:
- Archivos corruptos o permisos incorrectos.
- Un módulo o tema defectuoso.
- Problemas de memoria PHP o límites de ejecución.
- Un archivo
.htaccessmal configurado. - Conflictos con la versión de PHP.
Paso 1: Activar el modo debug de PrestaShop
Antes de tocar nada, necesitas que PrestaShop te muestre el error real. Por defecto, el error 500 oculta los detalles. Activar el modo debug te dará pistas concretas.
En cPanel o Plesk (acceso por FTP o administrador de archivos)
- Accede a tu panel de control (cPanel, Plesk o Syspanel en puerto 2106).
- Ve al Administrador de archivos (File Manager) o conéctate por FTP.
- Busca la carpeta raíz de tu PrestaShop (normalmente
public_htmlohttpdocs). - Abre el archivo config/defines.inc.php.
- Busca la línea:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda el archivo y recarga la página que daba error.
[INFO] Si no encuentras el archivo, puede estar en config/defines.inc.php o en la raíz con otro nombre. También puedes crearlo si no existe (consulta la documentación de PrestaShop).
Ahora, en lugar de la pantalla en blanco, verás un mensaje de error detallado con el archivo, línea y tipo de problema. Anota esa información, te será útil.
Paso 2: Verificar permisos de archivos y carpetas
Los permisos incorrectos son una causa muy común del error 500 PrestaShop. PrestaShop necesita permisos específicos para leer y escribir archivos.
Permisos recomendados:
- Carpetas: 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
- Archivos de configuración (como
config/settings.inc.php): 644 o 640
Cómo cambiarlos en cPanel/Plesk:
- En el Administrador de archivos, selecciona toda la carpeta de PrestaShop.
- Haz clic en Permisos (o Change Permissions).
- Marca las casillas según lo anterior (para carpetas: propietario lectura+escritura+ejecución, grupo lectura+ejecución, público lectura+ejecución).
- Activa la opción Aplicar a subdirectorios y archivos.
- Guarda.
[WARNING] No pongas permisos 777 (todos los permisos) porque es un riesgo de seguridad. Solo hazlo temporalmente para pruebas y luego revierte.
Si usas Syspanel (HestiaCP, puerto 2106), el proceso es similar: ve a Archivos > selecciona la carpeta > Permisos.
Paso 3: Revisar el archivo .htaccess
Un .htaccess corrupto o mal generado puede causar el error 500. PrestaShop genera este archivo automáticamente, pero a veces se daña.
Solución: regenerar el .htaccess
- Accede a tu panel de control y ve al Administrador de archivos.
- Busca el archivo
.htaccessen la raíz de PrestaShop. - Renómbralo a algo como
.htaccess_old(por si acaso). - Ahora, entra al back-office de PrestaShop (si puedes acceder). Ve a Configuración > Parámetros generales > SEO y URL.
- Haz clic en Guardar (sin cambiar nada). Esto forzará a PrestaShop a regenerar el
.htaccess. - Si no puedes acceder al back-office, crea un archivo
.htaccessnuevo con el contenido básico de PrestaShop (puedes copiarlo de una instalación limpia o de la documentación oficial).
[TIP] Si el error persiste, prueba a desactivar el URL rewriting temporalmente desde el back-office (misma sección).
Paso 4: Aumentar el límite de memoria PHP
PrestaShop puede consumir mucha memoria, especialmente si tienes muchos módulos o productos. Si el error 500 aparece al cargar páginas grandes, probablemente sea por falta de memoria.
Cómo aumentar memory_limit en cPanel/Plesk:
- Ve a Selector de PHP (o MultiPHP Manager en cPanel).
- Busca la opción memory_limit y cámbiala a 256M o 512M.
- También puedes ajustar max_execution_time a 120 o 180 segundos.
- Guarda los cambios y reinicia el servicio PHP si es necesario.
En Syspanel (HestiaCP, puerto 2106), puedes editar el archivo php.ini desde Configuración > PHP > Editar configuración. Busca memory_limit y ajústalo.
Si no tienes acceso a esos paneles, puedes añadir estas líneas al archivo config/defines.inc.php (justo después de la línea que activaste el modo debug):
ini_set('memory_limit', '256M');
ini_set('max_execution_time', '120');
Paso 5: Desactivar módulos o temas conflictivos
Un módulo o tema recién instalado o actualizado puede romper la tienda. Si el error 500 apareció después de instalar algo nuevo, ese es el culpable.
Cómo desactivar módulos sin acceso al back-office:
- Conéctate por FTP o al Administrador de archivos.
- Ve a la carpeta modules.
- Renombra la carpeta del módulo sospechoso (por ejemplo,
mimoduloamimodulo_off). - Recarga la tienda. Si el error desaparece, ese módulo es el problema. Puedes eliminarlo o contactar al desarrollador.
Si no sabes cuál es, renombra la carpeta modules completa a modules_off. Luego crea una nueva carpeta vacía llamada modules. Esto desactivará todos los módulos. Si la tienda funciona, ve activando uno por uno (moviendo carpetas) hasta encontrar el conflictivo.
Para temas, haz lo mismo con la carpeta themes. Renombra el tema activo y PrestaShop usará el tema por defecto (si está disponible).
Paso 6: Verificar la versión de PHP
PrestaShop requiere una versión específica de PHP. Usar una versión muy antigua o muy nueva puede provocar el PrestaShop error interno servidor.
Versiones recomendadas:
- PrestaShop 1.7.x: PHP 7.1 a 7.4 (PHP 8.0+ puede dar problemas).
- PrestaShop 8.x: PHP 7.4 o 8.0 (revisa la documentación oficial).
Cómo cambiar la versión de PHP:
En cPanel: ve a MultiPHP Manager y selecciona la versión adecuada para tu dominio.
En Plesk: ve a Herramientas y configuraciones > Configuración de PHP y elige la versión.
En Syspanel (HestiaCP, puerto 2106): ve a Web > PHP-FPM y selecciona la versión.
[WARNING] Antes de cambiar, verifica que los módulos de PrestaShop sean compatibles con la nueva versión.
Paso 7: Revisar los logs del servidor
Si nada de lo anterior funciona, los logs del servidor son tu mejor aliado. Te dirán exactamente qué está fallando.
Dónde encontrar los logs:
- cPanel: Métricas > Registros de errores (o Error Log).
- Plesk: Herramientas y configuraciones > Registro de errores.
- Syspanel (HestiaCP, puerto 2106): Registros > Registro de errores de Apache/Nginx.
Busca líneas con la fecha y hora del error. Normalmente verás algo como:
[error] [client IP] PHP Fatal error: ... en /ruta/al/archivo.php línea XX
Esa línea te dará la pista definitiva. Por ejemplo, si dice "Allowed memory size exhausted", es el límite de memoria. Si dice "Call to undefined function", es un módulo o tema.
Preguntas frecuentes (FAQ)
¿Por qué aparece el error 500 solo en algunas páginas?
Puede ser un módulo específico que se carga en esa página, o un límite de memoria que se alcanza al procesar muchos datos (por ejemplo, en el catálogo de productos).
¿El error 500 puede deberse a una actualización de PrestaShop?
Sí, especialmente si la actualización no fue limpia o hay archivos sobrantes. También si los módulos no son compatibles con la nueva versión.
¿Qué hago si no puedo acceder al back-office?
Sigue los pasos 1 (modo debug por FTP), 2 (permisos) y 5 (desactivar módulos por FTP). Si el back-office sigue sin funcionar, prueba a restaurar una copia de seguridad reciente.
¿Es seguro aumentar el memory_limit a 512M?
Sí, siempre que tu hosting lo permita. Algunos planes compartidos tienen límites estrictos. Si el error persiste, contacta a tu proveedor.
¿Cómo evito futuros errores 500?
- Mantén PrestaShop, módulos y temas actualizados.
- Haz copias de seguridad periódicas.
- No instales módulos de fuentes no confiables.
- Usa siempre la versión de PHP recomendada.
Resumen rápido de solución
- Activa el modo debug para ver el error real.
- Permisos correctos (755 carpetas, 644 archivos).
- Regenera el .htaccess o renómbralo.
- Aumenta memoria PHP a 256M o más.
- Desactiva módulos/temas conflictivos.
- Cambia la versión de PHP a una compatible.
- Revisa los logs del servidor.
Con estos pasos, podrás solucionar el error 500 en PrestaShop, ya sea en cPanel, Plesk o Syspanel (HestiaCP, puerto 2106). Recuerda que la paciencia es clave: ve paso a paso y no dudes en pedir ayuda a tu hosting si el problema persiste.
[TIP] Si después de todo el error sigue apareciendo, contacta al soporte de tu hosting. A veces el problema está en la configuración del servidor (como módulos de Apache deshabilitados) y ellos pueden resolverlo en minutos.
¡Buena suerte con tu tienda PrestaShop!
