Guía para solucionar error 500 en PrestaShop con cPanel
¡Hola! Soy el técnico de soporte de tu hosting. Uno de los errores más comunes y frustrantes que puedes encontrarte al gestionar tu tienda PrestaShop es el temido error 500. También conocido como "Error interno del servidor", este mensaje no te da muchos detalles, lo que puede ser desesperante. Pero no te preocupes, en esta guía te voy a explicar paso a paso cómo solucionar el error 500 PrestaShop cPanel de forma sencilla, incluso si no eres un experto en tecnología.
Vamos a desglosar las causas más habituales y las soluciones prácticas para que tu tienda vuelva a funcionar en pocos minutos. Recuerda que este error suele deberse a problemas de configuración, archivos corruptos o limitaciones del servidor. ¡Empecemos!
¿Qué es el error 500 en PrestaShop y por qué aparece?
El error 500 es un código de estado HTTP que indica que el servidor encontró un problema inesperado y no pudo completar la solicitud. En el contexto de PrestaShop, puede aparecer de repente al navegar por tu tienda, al intentar acceder al panel de administración o incluso al instalar un módulo. Las causas más comunes incluyen:
- Archivos .htaccess corruptos o mal configurados.
- Problemas de permisos de archivos y carpetas.
- Módulos o temas incompatibles.
- Límites de memoria PHP (memory_limit) insuficientes.
- Errores en el archivo de configuración de PrestaShop (settings.inc.php).
- Problemas con la versión de PHP o extensiones faltantes.
- Conflictos con la caché del servidor o de PrestaShop.
[INFO] Si ves un error 500 en blanco o con un mensaje genérico, no entres en pánico. La mayoría de las veces se puede resolver siguiendo los pasos que te detallo a continuación.
Requisitos previos antes de empezar a solucionar
Antes de lanzarte a modificar archivos, asegúrate de tener acceso a:
- Tu panel de control cPanel (o el panel que uses, como Syspanel, que se accede por el puerto 2106). Allí podrás gestionar archivos, bases de datos y configuraciones.
- Acceso FTP o al administrador de archivos de cPanel (File Manager). Necesitarás poder navegar por los directorios de tu tienda.
- Credenciales de la base de datos (por si toca reparar algo).
- Una copia de seguridad reciente de tu tienda. Siempre es recomendable antes de hacer cambios.
Paso 1: Habilitar la visualización de errores PHP
El error 500 suele ser "mudo". Para ver el mensaje real, necesitas activar la visualización de errores PHP temporalmente. Esto te dará pistas precisas.
- Accede a tu cPanel y busca la sección "Seleccionar versión de PHP" o "MultiPHP Manager" (depende del hosting).
- Busca la opción "Switch to PHP Options" o similar.
- Localiza la directiva display_errors y cámbiala a On.
- También activa log_errors y anota la ruta del archivo de log (suele ser algo como
/home/usuario/logs/error_log). - Guarda los cambios. Ahora, al cargar tu tienda, verás un mensaje de error más descriptivo (por ejemplo, "Fatal error: Allowed memory size exhausted...").
[WARNING] No olvides desactivar
display_errorsdespués de resolver el problema, ya que mostrar errores en producción puede ser un riesgo de seguridad.
Paso 2: Revisar el archivo .htaccess
El archivo .htaccess es el principal sospechoso en muchos errores 500. Una mala regla de redirección o un conflicto con módulos puede romper todo.
Cómo restaurar el .htaccess por defecto de PrestaShop
- Ve al administrador de archivos de cPanel y navega hasta la raíz de tu tienda (donde está la carpeta
admin,config, etc.). - Localiza el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos". - Renómbralo a
.htaccess_backup(por si acaso). - Crea un nuevo archivo
.htaccesscon el siguiente contenido básico de PrestaShop (versión 1.6 o 1.7):
# .htaccess básico para PrestaShop
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
- Guarda el archivo y prueba tu tienda de nuevo.
[TIP] Si el error desaparece, el problema estaba en tu .htaccess anterior. Puedes regenerar uno limpio desde el panel de administración de PrestaShop (Parámetros de la tienda > Tráfico y SEO > URL amigables, y guarda de nuevo).
Paso 3: Verificar permisos de archivos y carpetas
Los permisos incorrectos pueden causar que PrestaShop no pueda leer o escribir archivos, generando un error 500.
Los permisos recomendados son:
- Carpetas (directorios): 755
- Archivos: 644
- Configuración: El archivo
config/settings.inc.phpdebe tener permisos 444 o 644 (nunca 777 por seguridad).
Cómo corregir permisos desde cPanel
- En el administrador de archivos, selecciona la carpeta raíz de tu tienda.
- Haz clic en "Permisos" o "Change Permissions".
- Marca las casillas para dar 755 a las carpetas y 644 a los archivos. Si hay muchos, puedes usar la opción "Aplicar a subdirectorios" con cuidado.
- Para el archivo
config/settings.inc.php, ajústalo manualmente a 444.
[WARNING] No uses permisos 777 en producción, ya que expones tu tienda a vulnerabilidades.
Paso 4: Aumentar el límite de memoria PHP
PrestaShop, sobre todo con muchos productos o módulos, puede consumir mucha memoria. Si el error 500 aparece al hacer acciones pesadas (como importar productos), probablemente sea por el memory_limit.
Desde cPanel (MultiPHP Manager)
- Ve a "Seleccionar versión de PHP" > "Switch to PHP Options".
- Busca memory_limit y cámbialo a un valor más alto, por ejemplo 256M o 512M.
- También puedes aumentar max_execution_time a 300 y upload_max_filesize si es necesario.
- Guarda y comprueba.
Desde el archivo .htaccess (alternativa)
Si no puedes cambiar desde cPanel, añade estas líneas al final de tu .htaccess:
php_value memory_limit 256M
php_value max_execution_time 300
[INFO] Si tu hosting usa Syspanel (acceso por puerto 2106), busca la sección de "PHP Settings" dentro del panel para ajustar estos valores.
Paso 5: Desactivar módulos y temas conflictivos
A veces un módulo o tema recién instalado (o actualizado) es el culpable. Para probar:
- Renombra la carpeta de módulos temporalmente: desde FTP o File Manager, cambia el nombre de la carpeta
modulesamodules_old. - Prueba tu tienda. Si funciona, el problema está en algún módulo.
- Para identificar cuál, ve renombrando carpetas de módulos de uno en uno (o usa el panel de administración si puedes acceder).
- También puedes desactivar el tema actual: renombra la carpeta
themes/tu-temay PrestaShop usará el tema por defecto (si existe).
[TIP] Si no puedes acceder al admin, puedes desactivar módulos desde la base de datos: en phpMyAdmin, busca la tabla
ps_moduley cambia el estado de los módulos sospechosos a 0.
Paso 6: Revisar el archivo de configuración de PrestaShop
El archivo config/settings.inc.php contiene información crítica de la base de datos. Si está corrupto o tiene datos incorrectos, dará error 500.
- Abre el archivo con un editor de texto (desde File Manager).
- Verifica que los datos de conexión a la base de datos sean correctos:
_DB_SERVER_(suele serlocalhost)_DB_NAME__DB_USER__DB_PASSWD_
- Si tienes dudas, puedes obtener estos datos desde cPanel > Bases de datos MySQL.
- Guarda el archivo y pruébalo.
[WARNING] Si editas este archivo, asegúrate de no dejar espacios al principio o final, y de que las comillas estén bien cerradas.
Paso 7: Forzar la regeneración de la caché
La caché de PrestaShop o del servidor puede almacenar datos corruptos. Para limpiarla:
- Desde cPanel: Ve a "Seleccionar versión de PHP" y desactiva temporalmente OPcache (si está activado) o bórralo desde el administrador de archivos: elimina la carpeta
var/cache(en PrestaShop 1.7) ocache(en versiones anteriores). - Desde FTP: Borra el contenido de las carpetas
cache/smarty/cacheycache/smarty/compile(en PrestaShop 1.6) ovar/cache/devyvar/cache/prod(en 1.7). - También puedes reiniciar el servicio PHP desde cPanel (a veces está en "Service Manager" o "Apache Handler").
Paso 8: Verificar la versión de PHP y extensiones
PrestaShop requiere una versión específica de PHP (por ejemplo, 7.4 para PS 1.7.8, o 8.0 para versiones más recientes). Si tu hosting tiene una versión incompatible, obtendrás errores.
- En cPanel, ve a "Seleccionar versión de PHP" y elige una compatible con tu PrestaShop (puedes consultar la documentación oficial).
- Asegúrate de que las extensiones necesarias estén activadas: PDO, MySQLi, GD, cURL, JSON, mbstring, OpenSSL, etc. Marca las que falten.
[INFO] En Syspanel (puerto 2106), la configuración de PHP se encuentra en la sección "PHP Settings" del menú.
Paso 9: Revisar los logs del servidor
Si después de todo el error persiste, los logs del servidor te darán la pista definitiva.
- En cPanel, busca "Errores" o "Error Log" (a veces está en "Metrics").
- También puedes ver el archivo
error_logen la raíz de tu cuenta (suele estar en/home/usuario/logs/o en la carpeta pública). - Busca líneas que contengan "PHP Fatal error" o "mod_security". Anota el mensaje exacto y búscalo en Google o pregúntanos.
Preguntas frecuentes (FAQ)
¿Qué hago si no puedo acceder al panel de administración de PrestaShop?
Puedes solucionar el error 500 desde cPanel o FTP sin necesidad del admin. Sigue los pasos de esta guía (especialmente los pasos 1, 2 y 5).
¿El error 500 puede deberse a un problema de hosting?
Sí, a veces el proveedor de hosting tiene configuraciones restrictivas (como mod_security o límites muy bajos). Si después de todo no funciona, contacta con soporte técnico.
¿Cómo sé si mi PrestaShop es 1.6 o 1.7?
Mira el archivo config/settings.inc.php (1.6) o app/config/parameters.php (1.7). También puedes ver la versión en el archivo install/ o en el panel de administración (si accedes).
¿Puedo usar Syspanel para solucionar este error?
Sí, si tu hosting usa Syspanel (acceso por puerto 2106), los pasos son similares: busca "File Manager", "PHP Settings" y "Error Log" dentro de ese panel.
Conclusión
El error 500 PrestaShop cPanel puede parecer complicado, pero con esta guía paso a paso tienes todas las herramientas para solucionarlo. Recuerda siempre hacer copias de seguridad antes de modificar archivos críticos. Si el error persiste, no dudes en contactar con el soporte técnico de tu hosting, proporcionando los logs que hayas recopilado.
Espero que tu tienda vuelva a funcionar sin problemas. ¡Ánimo y mucho éxito con tu PrestaShop!
