Cómo resolver el error 500 en PrestaShop alojado en cPanel
Cuando tu tienda PrestaShop muestra un error 500, es como si la puerta de tu negocio se cerrara de golpe. No te preocupes, es uno de los problemas más comunes en el hosting con cPanel, y casi siempre tiene solución. En esta guía extensa y paso a paso, te explicaré desde cero cómo identificar y resolver este error, incluso si no eres un experto técnico.
¿Qué es exactamente el error 500 en PrestaShop?
El error 500 (Internal Server Error) es un mensaje genérico que indica que algo salió mal en el servidor, pero sin dar detalles específicos. En PrestaShop, suele aparecer cuando el sistema no puede ejecutar un script PHP, hay un conflicto con algún módulo o tema, o la configuración del servidor no es compatible.
[INFO] A diferencia de otros errores (como el 404), el 500 no te dice qué archivo falla. Por eso hay que investigar un poco.
Causas más frecuentes del error 500 en PrestaShop con cPanel
Antes de lanzarte a solucionarlo, es útil saber qué lo provoca. Las causas más comunes son:
- Problemas con los permisos de archivos o carpetas.
- Un módulo o tema de PrestaShop desactualizado o incompatible.
- Límites de memoria PHP excedidos.
- Archivos .htaccess corruptos o mal configurados.
- Errores en el archivo de configuración
config/defines.inc.php. - Falta de extensiones PHP necesarias (como
curl,mbstring,openssl). - Conflictos con la versión de PHP (PrestaShop 1.6 requiere PHP 5.6, 1.7 requiere PHP 7.x u 8.0).
Paso 1: Activar el modo debug de PrestaShop (la herramienta más útil)
PrestaShop tiene un modo de depuración que muestra el error real en lugar de la pantalla blanca. Para activarlo:
- Conéctate a tu cPanel y abre el Administrador de Archivos.
- Ve a la carpeta raíz de tu tienda (normalmente
public_html). - Busca el archivo
config/defines.inc.phpy ábrelo para editarlo. - Busca la línea que dice
define('_PS_MODE_DEV_', false);y cámbiala adefine('_PS_MODE_DEV_', true);. - Guarda los cambios. Ahora, al recargar tu tienda, verás un mensaje de error detallado (por ejemplo, "Fatal error: Allowed memory size exhausted").
[WARNING] No olvides volver a poner
falsedespués de solucionar el error, o tu tienda quedará expuesta.
Si no puedes acceder al archivo desde cPanel, usa un cliente FTP como FileZilla.
Paso 2: Revisar los logs de errores en cPanel
Otra forma de obtener pistas es mirar los registros de error del servidor:
- En cPanel, busca la sección "Registros de errores" o "Error Log".
- Abre el log más reciente. Busca líneas que mencionen
prestashopoPHP Fatal error. - Copia el mensaje exacto; te ayudará a identificar si es un problema de memoria, de un módulo específico, etc.
Si tu hosting usa Syspanel (antes llamado HestiaCP), accede al panel por el puerto 2106 y busca la opción "Logs de errores".
Paso 3: Aumentar el límite de memoria PHP
El error 500 aparece a menudo por falta de memoria. PrestaShop necesita al menos 128 MB, pero 256 MB es recomendable.
Desde cPanel:
- Ve a "Seleccionar versión de PHP" (o MultiPHP Manager en algunos paneles).
- Haz clic en "Opciones" o "Switch to PHP Options".
- Busca la opción
memory_limity cámbiala a256Mo512M. - Guarda y recarga tu tienda.
Alternativa manual:
Si no encuentras la opción, edita el archivo .htaccess en la raíz de tu tienda y agrega esta línea al inicio:
php_value memory_limit 256M
[TIP] A veces el límite lo impone el plan de hosting. Si no puedes aumentarlo, contacta a tu proveedor.
Paso 4: Verificar permisos de archivos y carpetas
Los permisos incorrectos pueden causar el error 500. La configuración segura típica es:
- Carpetas: 755
- Archivos: 644
- Archivos de configuración (como
config/settings.inc.php): 644
Cómo corregirlos desde cPanel:
- En el Administrador de Archivos, selecciona toda la carpeta de tu tienda.
- Haz clic derecho y elige "Cambiar permisos".
- Aplica 755 a todas las carpetas y 644 a todos los archivos.
- Asegúrate de que el archivo
config/settings.inc.phptenga permisos 644 (y no 777, que es inseguro).
Paso 5: Deshabilitar módulos problemáticos (sin acceso al backoffice)
Si el error 500 te impide entrar al panel de administración, puedes desactivar módulos manualmente:
- Conéctate por FTP o Administrador de Archivos.
- Ve a la carpeta
modules/. - Renombra la carpeta del módulo sospechoso (por ejemplo, añade
_oldal final). Por ejemplo:superplugin→superplugin_old. - Recarga tu tienda. Si el error desaparece, ese módulo era el culpable.
- Si no sabes cuál es, renombra todos los módulos de uno en uno (o en grupos) hasta dar con el problema.
Paso 6: Revisar el archivo .htaccess
Un .htaccess corrupto es otra causa común. Para probarlo:
- En la raíz de tu tienda, busca el archivo
.htaccess. - Renómbralo a
.htaccess_old(no lo borres, por si acaso). - Recarga tu tienda. Si funciona, el problema estaba ahí. Luego, desde el backoffice de PrestaShop (si puedes acceder), ve a Configuración → SEO y URLs y regenera el archivo.
[WARNING] Si renombras .htaccess, los enlaces amigables dejarán de funcionar. Es solo una prueba.
Paso 7: Verificar la versión de PHP y extensiones
PrestaShop tiene requisitos específicos de PHP. Por ejemplo:
- PrestaShop 1.7.8 necesita PHP 7.1 a 8.0.
- PrestaShop 8.x requiere PHP 8.0 o superior.
Desde cPanel:
- Ve a "Seleccionar versión de PHP".
- Elige la versión recomendada para tu PrestaShop.
- Asegúrate de que las extensiones necesarias estén activadas:
curl,mbstring,openssl,gd,zip,pdo_mysql,intl,json.
Si usas Syspanel, accede por el puerto 2106 y busca la opción "PHP Settings" para cambiar la versión.
Paso 8: Revisar el archivo config/settings.inc.php
Este archivo contiene la conexión a la base de datos. Si está dañado, todo falla.
- Abre
config/settings.inc.phpdesde el Administrador de Archivos. - Verifica que los datos de la base de datos (nombre, usuario, contraseña, servidor) sean correctos.
- Si tienes una copia de seguridad, reemplázalo.
Paso 9: Probar con el tema por defecto
Un tema personalizado puede causar conflictos. Para probar:
- Ve a la carpeta
themes/. - Renombra la carpeta de tu tema actual (por ejemplo,
tumoderno→tumoderno_old). - Crea una carpeta vacía con el mismo nombre de tu tema (esto hará que PrestaShop use el tema por defecto).
- Recarga. Si funciona, el problema es del tema.
Paso 10: Contactar al soporte de hosting
Si después de todo esto el error persiste, puede ser un problema del servidor (como una configuración de seguridad o un recurso limitado). En ese caso:
- Abre un ticket en tu proveedor de hosting.
- Menciona que has seguido los pasos anteriores y proporciona los logs de error.
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop
¿El error 500 puede deberse a un plugin de SEO?
Sí, algunos plugins que modifican el .htaccess o las URLs pueden causar conflictos. Desactívalos temporalmente para probar.
¿Pierdo datos si borro el archivo .htaccess?
No, solo pierdes la configuración de URL amigables. Puedes regenerarlo desde el backoffice.
¿Qué hago si no tengo acceso a cPanel?
Pide a tu proveedor que active el modo debug o te proporcione los logs. También puedes usar un cliente FTP.
¿El error 500 afecta el SEO?
Sí, porque Google no puede indexar tu tienda mientras esté caída. Por eso es importante resolverlo rápido.
Conclusión
El error 500 en PrestaShop puede parecer aterrador, pero con un enfoque metódico y las herramientas de cPanel (o Syspanel en puerto 2106), casi siempre tiene solución. Recuerda empezar por activar el modo debug, revisar los logs, y luego ir descartando causas una por una. Si te quedas atascado, no dudes en pedir ayuda a tu hosting. ¡Tu tienda volverá a estar online en poco tiempo!
