Cómo solucionar el error 500 en PrestaShop al acceder al panel de administración
Si estás leyendo esto, probablemente te has encontrado con la temida pantalla blanca o el mensaje "Error 500 Internal Server Error" al intentar acceder al panel de administración de tu tienda PrestaShop. No te preocupes, es uno de los problemas más comunes en entornos de hosting y, por suerte, tiene solución. En esta guía extensa, te explicaré paso a paso cómo diagnosticar y resolver el error 500 en PrestaShop, especialmente cuando ocurre al entrar en la zona de administración. Cubriremos desde las causas más básicas (como archivos corruptos) hasta soluciones avanzadas usando herramientas de tu panel de control (cPanel, DirectAdmin o Syspanel). Sigue leyendo y recupera el control de tu tienda.
¿Qué es el error 500 y por qué aparece en PrestaShop?
El error 500 es un código de estado HTTP que indica un "Error Interno del Servidor". Básicamente, el servidor web (Apache, Nginx, LiteSpeed) no puede procesar la petición que le envía tu navegador, pero no te da detalles específicos. En PrestaShop, esto suele ocurrir por problemas con:
- Archivos PHP corruptos o incompatibles.
- Errores en el archivo
.htaccess. - Falta de memoria PHP (límite de memoria excedido).
- Módulos o temas defectuosos.
- Permisos de archivos incorrectos.
- Configuraciones erróneas en el servidor.
Cuando el error aparece solo al acceder al panel de administración (y la tienda pública funciona bien), el problema suele estar relacionado con un módulo, un override o un archivo específico de la carpeta /admin.
Paso 1: Activar el modo debug de PrestaShop para obtener más información
Antes de tocar nada, necesitas ver el error real. PrestaShop oculta los detalles por defecto. Para verlos, debes activar el modo debug.
Método rápido: editar el archivo config/defines.inc.php
- Conéctate a tu hosting vía FTP (FileZilla, por ejemplo) o usa el administrador de archivos de tu panel de control (cPanel, DirectAdmin o Syspanel).
- Navega a la raíz de tu instalación de PrestaShop.
- Busca la carpeta
configy dentro el archivodefines.inc.php. - Descarga o edita el archivo. Busca la línea:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda los cambios y sube el archivo (si lo descargaste).
Ahora, al intentar acceder al panel de administración, verás un mensaje de error PHP detallado (por ejemplo, "Fatal error: Call to undefined function" o "Allowed memory size exhausted"). Anota ese mensaje, te guiará hacia la solución.
[WARNING] No dejes el modo debug activado en producción. Una vez resuelto el error, vuelve a poner false.
Paso 2: Soluciones comunes según el mensaje de error
2.1. Error de memoria insuficiente (Allowed memory size exhausted)
Si ves algo como "Allowed memory size of 134217728 bytes exhausted", tu script PHP se quedó sin memoria. Esto es muy común en administración si tienes muchos módulos o productos.
Solución en cPanel:
- Ve a Selector de versión de PHP o MultiPHP Manager.
- Busca la opción Memory Limit y aumenta el valor a 256M o 512M.
- Guarda los cambios.
Solución en DirectAdmin:
- En la sección Advanced Features, busca PHP Settings.
- Edita el valor
memory_limita 256M. - Aplica los cambios.
Solución en Syspanel (HestiaCP):
- Accede a Syspanel a través de
https://tudominio:2106. - Ve a Web > PHP Settings.
- Aumenta el límite de memoria a 256M.
Si no puedes cambiarlo desde el panel, edita el archivo php.ini (si tienes acceso) o añade esta línea en tu .htaccess:
php_value memory_limit 256M
2.2. Error de clase o función no definida (Call to undefined function)
Esto suele indicar que un módulo o un override está usando una función que no existe en tu versión de PHP. Por ejemplo, si tu hosting tiene PHP 8.0 y el módulo fue creado para PHP 5.6.
Solución:
- Desactiva módulos sospechosos. Para ello, renombra la carpeta del módulo en
/modules(por ejemplo, cambiamimoduloamimodulo_desactivado). - Si el error se soluciona, actualiza o elimina ese módulo.
- También puedes cambiar temporalmente la versión de PHP desde tu panel de control a una más baja (ej. PHP 7.4) para ver si el error desaparece.
2.3. Error de sintaxis en un archivo PHP (Parse error)
Si ves "Parse error: syntax error, unexpected...", hay un archivo PHP corrupto o mal editado. Esto puede ocurrir después de una actualización o al subir un tema.
Solución:
- Localiza el archivo mencionado en el error (ej.
/admin123/themes/default/template/...). - Reemplázalo con la versión original de PrestaShop (puedes descargar el mismo archivo desde un backup o desde la instalación limpia de tu versión).
- Si no sabes cuál es, restaura el tema de administración predeterminado.
Paso 3: Solucionar errores sin mensaje detallado (pantalla en blanco)
Si no ves ningún mensaje incluso con el modo debug activado, el problema puede estar en el archivo .htaccess o en los permisos de archivos.
3.1. Regenerar el archivo .htaccess
El archivo .htaccess de PrestaShop puede corromperse. Para regenerarlo:
- Conéctate vía FTP o administrador de archivos.
- Renombra el archivo
.htaccessen la raíz a.htaccess_old. - Ve a la URL de tu tienda pública (por ejemplo,
https://tudominio.com). PrestaShop intentará regenerar el archivo automáticamente. - Si no lo hace, accede al panel de administración (si es que ahora funciona) y ve a Configuración > Tráfico y SEO > URL simplificadas, y desactiva/activa la opción "URLs simplificadas".
[TIP] Si no puedes acceder al panel, sube un .htaccess genérico de PrestaShop desde tu instalación original.
3.2. Verificar permisos de archivos y carpetas
Los permisos incorrectos pueden causar errores 500. Los permisos estándar en PrestaShop son:
- Archivos: 644
- Carpetas: 755
En cPanel o DirectAdmin:
- Usa el Administrador de archivos.
- Selecciona toda la carpeta de PrestaShop.
- Haz clic en Permisos y marca 755 para carpetas y 644 para archivos.
- También puedes hacerlo por FTP: selecciona todo y cambia permisos en lote.
En Syspanel:
- Ve a Archivos > Administrador de archivos.
- Navega a la raíz de tu tienda.
- Cambia permisos desde el menú contextual.
Paso 4: Soluciones avanzadas para el error 500 en PrestaShop administración
4.1. Deshabilitar módulos desde la base de datos
Si no puedes acceder al panel para desactivar módulos, hazlo directamente en la base de datos.
- Accede a phpMyAdmin (desde cPanel, DirectAdmin o Syspanel).
- Selecciona la base de datos de tu PrestaShop.
- Busca la tabla
ps_module(el prefijo puede variar). - Ejecuta la siguiente consulta SQL para desactivar todos los módulos no nativos:
(Ajusta el número según tu versión; los módulos nativos suelen tener IDs bajos).UPDATE ps_module SET active = 0 WHERE id_module > 100; - Vuelve a intentar acceder al panel. Si funciona, activa los módulos de uno en uno desde el panel.
4.2. Forzar la recompilación de plantillas
A veces el error es por plantillas de administración corruptas. En PrestaShop 1.7 y superiores, puedes forzar la recompilación:
- Edita el archivo
config/smarty.config.inc.php. - Busca la línea:
$smarty->force_compile = false;
Cámbiala a:
$smarty->force_compile = true; - Guarda y prueba. Luego vuelve a ponerla en
false.
4.3. Aumentar el límite de tiempo de ejecución (max_execution_time)
Si el error aparece al cargar páginas pesadas del panel, aumenta el tiempo de ejecución. Añade en tu .htaccess:
php_value max_execution_time 120
O desde el panel de control, en la sección de configuración PHP.
Paso 5: Verificar registros del servidor (logs)
Si nada funciona, revisa los logs del servidor. Te darán la pista definitiva.
En cPanel:
- Ve a Registros de errores o Error Log.
- Busca errores recientes que mencionen tu carpeta
/admin.
En DirectAdmin:
- Ve a Advanced Features > Error Log.
- Filtra por dominio.
En Syspanel:
- Accede a Syspanel (
https://tudominio:2106). - Ve a Web > Logs > Error Log.
Los logs suelen mostrar la línea exacta y el archivo problemático.
Preguntas frecuentes (FAQ) sobre el error 500 en PrestaShop
1. ¿Por qué el error 500 solo aparece en el panel de administración y no en la tienda pública?
Generalmente, el panel de administración carga más módulos y archivos (como overrides, temas de admin, etc.). Un módulo defectuoso o un override mal escrito suele afectar solo al back office.
2. ¿Puedo solucionar el error 500 sin perder datos?
Sí. El error 500 no borra datos de la base de datos ni productos. Solo impide el acceso. Siguiendo los pasos anteriores (modo debug, desactivar módulos, regenerar .htaccess) puedes resolverlo sin pérdidas.
3. ¿Qué hago si no tengo acceso a cPanel ni DirectAdmin?
Contacta a tu proveedor de hosting. Pídeles que activen el modo debug de PHP o que te den acceso a los logs de error. También puedes pedirles que aumenten el límite de memoria.
4. ¿El error 500 puede deberse a un ataque o hackeo?
Sí, es posible. Si después de solucionar el error ves archivos extraños o modificaciones no autorizadas, escanea tu instalación con herramientas como el módulo "PrestaShop Security" o restaura desde un backup limpio.
5. ¿Cómo evito futuros errores 500 en la administración?
- Mantén PrestaShop y todos los módulos actualizados.
- No instales módulos de fuentes no confiables.
- Haz backups periódicos de archivos y base de datos.
- Configura un límite de memoria adecuado desde el inicio.
Conclusión
El error 500 en PrestaShop al acceder al panel de administración puede ser frustrante, pero con un enfoque metódico se resuelve. Recuerda: primero activa el modo debug para ver el error real, luego aplica la solución correspondiente (memoria, módulos, .htaccess, permisos). Si nada funciona, revisa los logs del servidor. Y si el problema persiste, contacta con tu hosting, ya que a veces el error está en su configuración (como un límite de procesos o un firewall mal configurado).
Con esta guía, espero que hayas podido recuperar el acceso a tu tienda. ¡No olvides desactivar el modo debug al finalizar! Si te ha sido útil, compártela con otros comerciantes que puedan estar pasando por lo mismo.
