Resolver error 500 en PrestaShop con cPanel
¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, probablemente te has topado con el temido error 500 en PrestaShop y necesitas ayuda para solucionarlo desde tu cPanel. No te preocupes, es un problema muy común y, aunque suene grave, suele tener soluciones sencillas que puedes aplicar tú mismo.
En esta guía completa (de más de 1200 palabras), vamos a desglosar paso a paso cómo solucionar error 500 PrestaShop desde tu panel de control. Cubriremos desde lo más básico (como limpiar la caché) hasta ajustes más técnicos (como aumentar la memoria PHP o revisar los logs). Al final, tendrás un checklist claro para resolverlo.
Vamos a ello. Respira hondo y sigue cada paso con calma.
¿Qué es el error 500 en PrestaShop y por qué aparece?
El error 500 PrestaShop cPanel es un error genérico del servidor. Significa que algo falló internamente en tu web, pero el servidor no puede darte más detalles directamente en pantalla (por seguridad). Es como si tu coche se parara y el testigo de "fallo motor" se encendiera: sabes que hay un problema, pero necesitas un escáner para ver el código exacto.
Las causas más frecuentes son:
- Problemas de permisos de archivos o carpetas.
- Límite de memoria PHP (memory_limit) insuficiente.
- Un módulo o tema de PrestaShop corrupto o incompatible.
- Archivos .htaccess dañados o incorrectos.
- La versión de PHP no es compatible con tu PrestaShop.
- Errores en el archivo de configuración
config/defines.inc.php.
No te asustes. Vamos a atacar cada una de estas causas de forma ordenada.
Paso 1: Lo primero, activa el modo debug de PrestaShop
Antes de tocar nada, necesitamos que PrestaShop nos cuente qué está pasando. Por defecto, el error 500 oculta el mensaje real. Vamos a activar el modo debug.
¿Cómo hacerlo desde cPanel?
- Accede a tu cPanel. La URL suele ser
tudominio.com/cpanelotudominio.com:2083. - Busca la herramienta Administrador de archivos (File Manager).
- Ve a la carpeta raíz de tu PrestaShop (normalmente
public_htmlo una subcarpeta comotienda). - Busca el archivo llamado
config/defines.inc.php. - Haz clic derecho sobre él y selecciona Editar (o Code Editor).
- Localiza esta línea (normalmente está cerca de la línea 28):
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda los cambios y cierra el editor.
[INFO] Al activar el modo dev, en lugar del error 500 verás un mensaje más descriptivo (por ejemplo, "Fatal error: Allowed memory size exhausted..."). Ese mensaje te dará la pista clave para la solución.
[WARNING] No dejes el modo debug activado en tu tienda en producción. Una vez resuelto el error, vuelve a poner false. Si no, los clientes podrían ver mensajes de error internos.
Paso 2: Soluciones rápidas y comunes (checklist inicial)
Si el modo debug no te muestra nada claro o prefieres ir probando soluciones sencillas primero, este es tu checklist.
2.1 Limpiar la caché de PrestaShop
A veces, un archivo de caché corrupto causa el error 500. Puedes hacerlo de dos formas:
Desde el back office (si puedes acceder):
Ve a Parámetros avanzados > Rendimiento y haz clic en Limpiar caché (tanto de la plantilla como del compilador).
Desde cPanel (si no puedes acceder al back office):
- En el Administrador de archivos, ve a la carpeta
/var/cache/(o/cache/en versiones antiguas). - Dentro, busca las carpetas
dev,prodyclass_index.php. - Borra todo el contenido de esas carpetas (pero no borres las carpetas en sí). Simplemente selecciona todos los archivos dentro y elimínalos.
2.2 Renombrar el archivo .htaccess
Un .htaccess dañado es otra causa muy común.
- En el Administrador de archivos, localiza el archivo
.htaccessen la raíz de tu tienda. - Haz clic derecho y renómbralo a
.htaccess_old(así lo desactivamos). - Vuelve a cargar tu web. Si el error desaparece, el problema está en el
.htaccess. - Para regenerarlo, ve al back office de PrestaShop (si puedes entrar) a Parámetros avanzados > Rendimiento y haz clic en Guardar (sin cambiar nada). Esto regenera el archivo automáticamente.
[TIP] Si no puedes entrar al back office, puedes crear un .htaccess básico desde cPanel: ve a Seguridad > Protección con contraseña de directorios o simplemente deja el archivo renombrado y contacta con soporte para que te ayuden a regenerarlo.
2.3 Desactivar módulos problemáticos (si el error es reciente)
Si el error 500 apareció justo después de instalar o actualizar un módulo, ese módulo es el culpable.
- Conecta a tu hosting por FTP o usa el Administrador de archivos de cPanel.
- Ve a la carpeta
/modules/. - Busca la carpeta del módulo sospechoso (por ejemplo,
superplugin). - Renombra la carpeta (ej:
superplugin_backup). Esto desactiva el módulo por completo. - Recarga tu web. Si funciona, ya sabes qué módulo causaba el error. Puedes eliminarlo o contactar al desarrollador.
Paso 3: Soluciones técnicas (aumentar memoria PHP y ajustar permisos)
Si los pasos anteriores no funcionaron, pasamos a cuestiones más técnicas.
3.1 Aumentar el límite de memoria PHP (memory_limit)
Muchos errores 500 en PrestaShop se deben a que el script se queda sin memoria, sobre todo si tienes muchos productos, módulos o imágenes.
Desde cPanel (recomendado):
- Busca la herramienta Seleccionar versión de PHP (o MultiPHP Manager).
- Haz clic en el icono de Switch to PHP Options (o Opciones).
- Busca la opción memory_limit.
- Cámbiala a un valor más alto, por ejemplo:
- 256M (recomendado para tiendas medianas).
- 512M (para tiendas grandes o con muchos módulos).
- Haz clic en Apply (Aplicar).
[INFO] Si no ves la opción memory_limit, puede que esté bloqueada por el proveedor de hosting. En ese caso, contacta con soporte y pídeles que lo aumenten.
Alternativa: Modificar el archivo php.ini (si tu hosting lo permite)
- En el Administrador de archivos, busca o crea un archivo llamado
php.inien la raíz de tu tienda. - Añade esta línea:
memory_limit = 256M - Guarda el archivo.
3.2 Corregir los permisos de archivos y carpetas
Los permisos incorrectos son otra causa clásica. Los archivos deben tener permisos 644 y las carpetas 755.
- En el Administrador de archivos, selecciona todos los archivos y carpetas de la raíz de tu tienda.
- Arriba, haz clic en Permisos (o Change Permissions).
- Marca las casillas para que quede así:
- Archivos: 644 (propietario: leer/escribir, grupo: leer, otros: leer).
- Carpetas: 755 (propietario: leer/escribir/ejecutar, grupo: leer/ejecutar, otros: leer/ejecutar).
- Haz clic en Aplicar a subdirectorios (Apply to subdirectories).
- Confirma.
[WARNING] No pongas permisos 777 a ninguna carpeta o archivo a menos que un técnico te lo indique. Es un grave riesgo de seguridad.
Paso 4: Revisar los logs del servidor (la clave definitiva)
Si nada de lo anterior funciona, es hora de mirar los logs de error reales del servidor. Aquí encontrarás la causa exacta.
4.1 Acceder a los logs desde cPanel
- En tu cPanel, busca la sección Métricas o Registros.
- Haz clic en Registros de errores (o Error Log).
- Verás una lista de errores recientes. Busca los que tengan la fecha y hora del error 500.
- El mensaje típico será algo como:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted...orequire(): Failed opening required '/home/user/public_html/modules/...'.
[TIP] Si no ves nada en el log, asegúrate de que el registro de errores esté activado. Puedes hacerlo desde Seleccionar versión de PHP > Opciones y activar display_errors = On y log_errors = On. Luego, recarga la página que da error y vuelve a mirar el log.
4.2 Interpretar los logs
- "Allowed memory size exhausted": Tienes que aumentar el
memory_limit(Paso 3.1). - "require()... failed": Falta un archivo. Reinstala el módulo o tema que lo necesita.
- "syntax error, unexpected...": Hay un error de código en un archivo PHP. Revisa el archivo mencionado.
- "Maximum execution time exceeded": Aumenta el
max_execution_timeen las opciones de PHP (ej: 120 segundos).
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop
1. ¿El error 500 puede deberse a un plugin de caché como LiteSpeed Cache?
Sí, totalmente. Los plugins de caché mal configurados o con archivos corruptos pueden provocar un error 500. Solución: Desactívalo desde el back office o renombrando su carpeta en /modules/ (ej: litespeedcache).
2. ¿Qué pasa si uso Syspanel (HestiaCP) en lugar de cPanel?
Si tu panel es Syspanel (HestiaCP), el acceso es por el puerto 2106 (ej: tudominio.com:2106). La lógica es la misma: busca el Administrador de archivos y las herramientas de PHP (suelen estar en "Servicios" o "Configuración avanzada"). Los pasos para modificar defines.inc.php, permisos o logs son idénticos.
3. ¿El error 500 puede ser por un certificado SSL caducado?
No, el error 500 es interno del servidor. El SSL caducado da un error diferente (como "NET::ERR_CERT_DATE_INVALID"). Sin embargo, si tu hosting tiene un firewall mal configurado, a veces puede interferir.
4. ¿Debo actualizar la versión de PHP?
Sí, es recomendable. PrestaShop 1.7 necesita PHP 7.1 o superior (idealmente 7.4 u 8.0). Si tu versión de PHP es muy antigua (5.6 o 7.0), puede dar errores 500. En cPanel, ve a Seleccionar versión de PHP y elige una compatible.
5. ¿Qué hago si después de todo sigue el error 500?
Si has seguido todos los pasos y el error persiste, puede que el problema sea más grave (base de datos corrupta, error en el núcleo de PrestaShop, o un problema de configuración del servidor que no puedes tocar). Mi recomendación: contacta con el soporte técnico de tu hosting. Diles que ya activaste el modo debug y que revisaste los logs. Ellos podrán ver los logs del servidor a nivel de sistema (Apache/Nginx) que tú no ves.
Resumen y checklist final
Aquí tienes un resumen ordenado para que no te pierdas:
- Activar modo debug en
config/defines.inc.php. - Limpiar caché de PrestaShop (back office o carpeta
/cache/). - Renombrar .htaccess a
.htaccess_old. - Desactivar módulos recién instalados (renombrando sus carpetas).
- Aumentar memory_limit a 256M o más.
- Corregir permisos (archivos 644, carpetas 755).
- Revisar logs de error en cPanel.
- Actualizar versión de PHP si es necesario.
Con estos pasos, resolverás el 95% de los casos de error 500 en PrestaShop. Recuerda que la paciencia es clave, y que siempre puedes pedir ayuda si te atascas.
¡Espero que esta guía te haya sido útil! Si tienes más dudas, no dudes en preguntar. Estoy aquí para ayudarte.
