Solucionar errores 500 en PrestaShop con cPanel
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a desentrañar uno de los errores que más dolores de cabeza causan en las tiendas online: el temido error 500 en PrestaShop. Si estás usando cPanel, estás en el lugar correcto. Vamos a ver por qué aparece, cómo usar los logs para diagnosticarlo y, lo más importante, cómo solucionarlo paso a paso.
¿Qué es un error 500 y por qué aparece en PrestaShop?
El error 500 es un «Error Interno del Servidor». Es una forma genérica que tiene tu servidor de decir: «Algo salió mal, pero no sé muy bien qué». En PrestaShop, esto suele deberse a problemas con archivos de configuración, módulos incompatibles, límites de memoria o permisos incorrectos.
¿Qué NO es un error 500? No es un error de tu conexión a internet ni de tu navegador. Es un problema en el servidor donde está alojada tu tienda.
[INFO] El error 500 puede aparecer en toda la tienda o solo en algunas páginas. Si aparece al instalar un módulo o después de una actualización, el culpable suele ser ese cambio reciente.
Primeros pasos: ¿cómo acceder a tu cPanel?
Para solucionar el error 500 PrestaShop cPanel, lo primero es acceder a tu panel de control. Si usas cPanel, normalmente accedes a través de tudominio.com/cpanel o tudominio.com:2083. Si usas Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso es el 2106.
Una vez dentro, busca la sección de Archivos (File Manager) y Registros (Logs).
El primer paso: habilitar los logs de PrestaShop
Antes de hacer nada, necesitamos que PrestaShop nos cuente qué está fallando. Por defecto, los logs de errores están desactivados.
### Paso 1: Editar el archivo config/defines.inc.php
- Ve a Administrador de archivos (File Manager) en cPanel.
- Navega hasta la carpeta de tu tienda PrestaShop (normalmente
public_htmlo una subcarpeta). - Busca la carpeta
configy dentro de ella el archivodefines.inc.php. - Haz clic derecho sobre él y selecciona Editar (o Edit).
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Importante: Justo debajo, añade esta línea para mostrar los errores en pantalla:
@ini_set('display_errors', '1'); - Guarda los cambios.
[WARNING] Este cambio mostrará errores en tu tienda. Es solo para diagnóstico. Una vez solucionado el problema, vuelve a poner
falsey elimina la línea dedisplay_errors.
Ahora, al cargar la página que daba error 500, deberías ver un mensaje de error más descriptivo. Anótalo o haz una captura de pantalla.
### Paso 2: Revisar los logs del servidor en cPanel
Si el paso anterior no te muestra nada, o si no puedes acceder a la tienda porque el error 500 bloquea todo, toca ir a los logs del servidor.
- En cPanel, busca la sección Métricas o Registros.
- Haz clic en Errores (o Error Log / Latest Visitors).
- Busca en la lista los errores que tengan la palabra «PrestaShop» o «PHP».
- Anota la línea exacta del error, la hora y el archivo implicado.
[TIP] Los logs de error suelen mostrar la ruta completa del archivo problemático, como
/home/usuario/public_html/modules/mimodulo/mimodulo.php. Eso te dará una pista directa.
Solucionar el error 500 PrestaShop cPanel según la causa
Ahora que tienes el error (ya sea por pantalla o por logs), vamos a las soluciones más comunes.
### Causa 1: Módulo o tema defectuoso
Esta es la causa más frecuente. Un módulo mal instalado, desactualizado o incompatible con tu versión de PrestaShop puede generar un error 500.
Solución: Deshabilitar el módulo por FTP
- Accede a tu cPanel y abre el Administrador de archivos.
- Ve a la carpeta
modulesdentro de tu tienda. - Busca la carpeta del módulo problemático (el nombre suele coincidir con el del error).
- No la borres. Simplemente renómbrala añadiendo
_oldal final (ej:mimodulo_old). - Vuelve a cargar tu tienda. Si el error desaparece, ese módulo es el culpable. Desinstálalo desde el back office (si puedes acceder) o bórralo por FTP.
Para temas: El proceso es similar, pero en la carpeta themes. Renombra la carpeta de tu tema activo. PrestaShop usará el tema predeterminado (por ejemplo, classic).
### Causa 2: Límites de memoria PHP (PHP Memory Limit)
Si tu tienda tiene muchos productos, módulos o tráfico, puede necesitar más memoria de la que tiene asignada.
Solución: Aumentar el límite de memoria
- En cPanel, busca la sección Software y haz clic en Seleccionar versión de PHP (o MultiPHP Manager).
- Haz clic en Opciones (o Switch to PHP Options).
- Busca
memory_limity cámbialo a256Mo512M(recomendado para PrestaShop 1.7+). - También puedes aumentar
max_execution_timea120ymax_input_varsa5000. - Guarda los cambios.
[WARNING] Si tu hosting no te permite modificar estos valores desde cPanel, deberás hacerlo manualmente en el archivo
.htaccessophp.ini. Pregunta a tu proveedor de hosting si tienes dudas.
### Causa 3: Archivos .htaccess corruptos o incompatibles
El archivo .htaccess es un archivo de configuración de Apache. Si se corrompe (por ejemplo, tras una actualización de módulo), puede generar un error 500.
Solución: Regenerar el .htaccess
- En el Administrador de archivos, ve a la raíz de tu tienda.
- Busca el archivo
.htaccess. Nota: Puede estar oculto. Activa la opción «Mostrar archivos ocultos» en la configuración del administrador de archivos. - Renómbralo a
.htaccess_old(por seguridad). - Ahora ve al back office de PrestaShop (si puedes acceder) o, si no, tendrás que forzar su regeneración. Para ello, puedes crear un archivo vacío con el nombre
.htaccessy luego, desde el back office, ir a Configuración de la tienda > Tráfico y SEO > URL y hacer clic en Guardar (sin cambiar nada). Esto regenerará el archivo.
### Causa 4: Permisos de archivos incorrectos
Los archivos de PrestaShop necesitan permisos específicos. Si están mal configurados, el servidor no puede leerlos o escribirlos.
Solución: Restablecer permisos
- En el Administrador de archivos, selecciona TODA la carpeta de tu tienda (haz clic en la casilla de la carpeta raíz).
- En la barra superior, haz clic en Permisos.
- Establece los permisos de las carpetas a
755(o0755). - Establece los permisos de los archivos a
644(o0644). - Importante: La carpeta
config,cache,logyuploaddeben tener permisos777(o0777) para que PrestaShop pueda escribir en ellas. Haz esto solo para esas carpetas específicas.
[INFO] No establezcas todos los archivos a 777. Es un riesgo de seguridad. Solo las carpetas que necesitan escritura.
### Causa 5: Archivos de caché corruptos
La caché de PrestaShop puede corromperse y causar errores.
Solución: Limpiar la caché manualmente
- En el Administrador de archivos, ve a la carpeta
var/cache(en PrestaShop 1.7) ocache(en versiones anteriores). - Dentro de
cache, verás subcarpetas comoprodydev. - Borra todo el contenido de estas carpetas (los archivos, no las carpetas).
- También puedes borrar la carpeta
cache/smarty/cacheycache/smarty/compile.
¿Y si nada de esto funciona? (FAQ)
A veces el error 500 es más complejo. Aquí tienes preguntas frecuentes.
### P: Sigo viendo el error 500 después de todos los pasos.
R: Puede ser un problema de la base de datos, una versión de PHP incompatible con tu PrestaShop, o un error en un archivo del núcleo. Prueba a restaurar una copia de seguridad reciente de tu tienda (archivos y base de datos). Si no tienes copia, contacta con tu hosting.
### P: El error aparece solo al acceder al back office.
R: Suele ser un módulo de back office o un problema de permisos en la carpeta admin. Revisa los logs del servidor y deshabilita módulos recién instalados.
### P: ¿Puedo usar el modo de mantenimiento para que los clientes no vean el error?
R: Sí. Accede a tu cPanel y, en el administrador de archivos, busca el archivo config/defines.inc.php y cambia _PS_MODE_DEV_ a false. Luego, desde el back office (si puedes acceder), activa el modo de mantenimiento. Si no puedes acceder al back office, puedes forzar el modo de mantenimiento creando un archivo vacío llamado maintenance en la carpeta config (sin extensión). Esto ocultará el error a los clientes.
### P: Mi hosting usa Syspanel (HestiaCP), ¿cómo accedo a los logs?
R: Si usas Syspanel, el acceso es a través del puerto 2106. Una vez dentro, busca la sección de Registros o Logs. La estructura es similar a cPanel, pero las rutas pueden variar. Busca en /var/log/apache2/ o /var/log/nginx/ según el servidor web que uses.
Resumen y recomendaciones finales
Solucionar un error 500 PrestaShop cPanel es cuestión de método. Sigue estos pasos en orden:
- Habilita los logs de PrestaShop para ver el error exacto.
- Revisa los logs del servidor en cPanel.
- Deshabilita módulos y temas sospechosos.
- Aumenta la memoria PHP.
- Regenera el .htaccess.
- Corrige los permisos de archivos.
- Limpia la caché.
[TIP] Siempre mantén copias de seguridad periódicas de tu tienda. Así, ante un error grave, puedes restaurar todo en minutos.
Espero que esta guía te haya sido de ayuda. Recuerda que, si el problema persiste, tu proveedor de hosting es tu mejor aliado. ¡Mucha suerte con tu tienda!
