Cómo solucionar error 500 en PrestaShop desde el panel
¿Qué es el error 500 en PrestaShop y por qué aparece?
El error 500 es un mensaje de error genérico del servidor que significa "Internal Server Error" (Error Interno del Servidor). En PrestaShop, puede aparecer de repente mientras navegas por tu tienda o al intentar acceder al panel de administración. Lo bueno es que, en la mayoría de los casos, puedes solucionarlo tú mismo desde tu panel de control sin necesidad de ser un experto en programación.
Las causas más comunes del error 500 en PrestaShop incluyen:
- Problemas de permisos de archivos o carpetas: PrestaShop necesita permisos específicos para leer y escribir archivos.
- Archivos .htaccess corruptos o mal configurados: Este archivo controla las reglas de acceso y reescritura de URL.
- Módulos o temas incompatibles: Un módulo recién instalado o un tema mal configurado puede romper todo.
- Límite de memoria PHP excedido: Si tu tienda tiene muchos productos o visitas, puede superar el límite de memoria asignado.
- Errores en el archivo de configuración settings.inc.php: Este archivo guarda datos críticos de conexión a la base de datos.
A continuación, te guiaré paso a paso para que puedas diagnosticar y solucionar el error 500 desde tu panel de control, ya sea cPanel, Syspanel (HestiaCP) o cualquier otro.
[INFO] Si usas Syspanel (HestiaCP), recuerda que accedes por el puerto 2106, por ejemplo:
https://tudominio.com:2106. El nombre de usuario y contraseña te los proporcionó tu proveedor de hosting.
Paso 1: Accede a tu panel de control y activa el modo debug de PrestaShop
Lo primero es ver un mensaje de error más descriptivo. PrestaShop tiene un modo de depuración (debug) que muestra detalles técnicos sobre el error.
Desde Syspanel (HestiaCP)
- Inicia sesión en Syspanel usando tu dominio y puerto 2106.
- Ve a Archivos > Administrador de archivos.
- Navega hasta la carpeta raíz de tu PrestaShop (normalmente
public_htmlowww). - Busca el archivo
config/defines.inc.php. Haz clic derecho y selecciona Editar. - Busca la línea que dice
define('_PS_MODE_DEV_', false);y cámbiala atrue. - Guarda los cambios. Ahora al recargar tu tienda, verás un mensaje de error más específico, como "Fatal error: Allowed memory size of...".
[WARNING] No olvides volver a poner
falsecuando termines de solucionar el error, o tu tienda quedará visible para todo el mundo en modo desarrollo.
Desde cPanel
- Accede a cPanel con tus credenciales.
- Ve a Administrador de archivos y selecciona la carpeta raíz de tu PrestaShop.
- Sigue los mismos pasos que arriba para editar
config/defines.inc.php.
Paso 2: Revisa los permisos de archivos y carpetas
Los permisos incorrectos son una causa muy frecuente del error 500. PrestaShop necesita que ciertos archivos y carpetas tengan permisos específicos para funcionar.
Permisos correctos
- Carpetas: Deben tener permisos
755(lectura, escritura y ejecución para el propietario; solo lectura y ejecución para el grupo y otros). - Archivos: Deben tener permisos
644(lectura y escritura para el propietario; solo lectura para el grupo y otros).
Cómo cambiarlos desde Syspanel
- En el Administrador de archivos de Syspanel, selecciona toda la carpeta raíz de PrestaShop.
- Haz clic en Permisos (o botón derecho > Cambiar permisos).
- Marca las casillas correspondientes:
- Propietario: Lectura, Escritura, Ejecución.
- Grupo: Lectura, Ejecución.
- Otros: Lectura, Ejecución.
- Marca la opción Aplicar a subdirectorios y archivos.
- Haz clic en Aceptar.
Cómo cambiarlos desde cPanel
- En el Administrador de archivos, selecciona la carpeta raíz.
- Haz clic en Permisos en la barra superior.
- Ingresa
755para carpetas y644para archivos. También puedes marcar las casillas manualmente. - Marca Aplicar a todos los archivos y subdirectorios.
[TIP] Si después de cambiar permisos el error persiste, verifica que el archivo
config/settings.inc.phptenga permisos644o444. En algunos servidores, permisos más restrictivos pueden causar problemas.
Paso 3: Renombra el archivo .htaccess
El archivo .htaccess de PrestaShop se regenera automáticamente al guardar la configuración de URL amigables. Si está corrupto, puede causar un error 500.
Pasos para renombrarlo
- En el Administrador de archivos de tu panel, busca el archivo
.htaccessen la carpeta raíz de PrestaShop. - Si no lo ves, activa la opción Mostrar archivos ocultos (en Syspanel suele haber un botón de "Mostrar archivos ocultos" en la barra superior).
- Haz clic derecho sobre
.htaccessy selecciona Renombrar. - Cámbiale el nombre a algo como
.htaccess_oldohtaccess_backup.txt. - Guarda los cambios y recarga tu tienda. Si el error desaparece, el problema estaba ahí.
Luego, para regenerar el archivo correctamente:
- Accede al panel de administración de PrestaShop (si puedes).
- Ve a Configuración de la tienda > Tráfico y SEO > URL amigables.
- Haz clic en Guardar (sin cambiar nada). Esto regenera el
.htaccess.
[WARNING] Si no puedes acceder al panel de administración, no te preocupes. Puedes forzar la regeneración desde tu panel de control editando el archivo
config/settings.inc.phpy agregando una línea temporal (consulta la documentación de PrestaShop para más detalles). Otra opción es desactivar las URL amigables directamente en la base de datos.
Paso 4: Aumenta el límite de memoria PHP
Si el error 500 viene acompañado de un mensaje como "Allowed memory size of 134217728 bytes exhausted", necesitas aumentar el límite de memoria PHP.
Desde Syspanel
- En Syspanel, ve a Configuración del servidor > Configuración PHP.
- Busca la opción memory_limit y cámbiala a un valor mayor, por ejemplo,
256Mo512M. - Haz clic en Guardar y luego en Reiniciar PHP si es necesario.
Desde cPanel
- En cPanel, busca la sección Software y haz clic en Seleccionar versión de PHP.
- Luego, haz clic en Opciones o Switch to PHP Options.
- Busca
memory_limity cámbialo a256M. - Guarda los cambios.
Alternativa: Editar el archivo .htaccess
Si no puedes acceder a la configuración de PHP desde tu panel, puedes agregar esta línea al archivo .htaccess (después de regenerarlo):
php_value memory_limit 256M
[TIP] Si tu hosting es compartido, el límite máximo lo define tu proveedor. Si necesitas más de 256MB, contacta con soporte técnico.
Paso 5: Desactiva módulos y temas sospechosos
Un módulo o tema recién instalado o actualizado puede ser el culpable. Como no puedes acceder al panel de administración, debes hacerlo manualmente desde tu panel de control.
Desactivar módulos desde la base de datos
- Accede a phpMyAdmin desde tu panel de control (en Syspanel está en Base de datos > phpMyAdmin).
- Selecciona la base de datos de tu PrestaShop.
- Busca la tabla
ps_module(el prefijo puede ser diferente, comops_oprestashop_). - Haz clic en Examinar (o Browse).
- Para desactivar un módulo, cambia el valor de la columna
activede1a0en las filas correspondientes. Si no sabes cuál es el problema, desactiva todos los módulos no esenciales (puedes dejar activos los de pago y envío si los usas). - Guarda los cambios.
Desactivar el tema actual
- En la misma base de datos, busca la tabla
ps_configuration. - Busca la fila con
nameigual aPS_CSS_THEMEoPS_THEME_NAME. - Cambia el valor por
classic(el tema por defecto de PrestaShop). - Guarda los cambios y recarga tu tienda.
[WARNING] Si no te sientes cómodo editando la base de datos, contacta con soporte técnico. Un cambio incorrecto puede dejar tu tienda inaccesible.
Paso 6: Verifica el archivo settings.inc.php
Este archivo contiene la configuración de conexión a la base de datos. Si está corrupto o tiene permisos incorrectos, puede causar error 500.
Cómo revisarlo
- Desde tu Administrador de archivos, navega a
config/settings.inc.php. - Ábrelo con el editor de texto.
- Verifica que las líneas de conexión a la base de datos sean correctas:
define('_DB_SERVER_', 'localhost');(o el servidor que te haya dado tu hosting).define('_DB_NAME_', 'nombre_de_tu_base');define('_DB_USER_', 'usuario_de_tu_base');define('_DB_PASSWD_', 'contraseña_de_tu_base');
- Si ves algo extraño (como caracteres raros o espacios), corrige los datos con los correctos (puedes obtenerlos desde la sección de bases de datos de tu panel).
[INFO] Si no recuerdas tus datos de base de datos, en Syspanel ve a Base de datos > Agregar base de datos (ahí verás las existentes). En cPanel, busca Bases de datos MySQL.
Paso 7: Preguntas frecuentes (FAQ PrestaShop)
¿Qué hago si después de todo el error 500 sigue apareciendo?
Puede ser un problema del servidor. Contacta a tu proveedor de hosting y diles que verificaste permisos, .htaccess, memoria PHP y módulos. Ellos pueden revisar los logs del servidor para encontrar la causa exacta.
¿Cómo veo los logs de error de PrestaShop?
Desde tu panel de control, busca la carpeta var/logs dentro de la raíz de PrestaShop. Ahí hay archivos como error.log o fatal.log. Si no existen, actívalos desde el modo debug (paso 1).
¿El error 500 puede ser por una actualización fallida?
Sí, muy común. Si actualizaste PrestaShop o un módulo y luego apareció el error, prueba restaurar una copia de seguridad de los archivos y la base de datos. Siempre haz copias de seguridad antes de actualizar.
¿Puedo solucionar el error 500 desde el panel de administración de PrestaShop?
Solo si puedes acceder a él. Si el error te impide entrar, debes usar los métodos que te he explicado desde el panel de control.
¿Qué es Syspanel y cómo accedo?
Syspanel es el nombre que le damos a HestiaCP, un panel de control de hosting. Accedes a través de https://tudominio.com:2106. Es similar a cPanel pero con una interfaz más moderna.
Conclusión
El error 500 en PrestaShop puede ser frustrante, pero siguiendo estos pasos desde tu panel de control (Syspanel, cPanel u otro) podrás resolverlo en la mayoría de los casos. Recuerda:
- Activar el modo debug para obtener más información.
- Revisar permisos de archivos y carpetas.
- Renombrar .htaccess para descartar corrupción.
- Aumentar la memoria PHP si es necesario.
- Desactivar módulos y temas manualmente desde la base de datos.
- Verificar settings.inc.php para asegurar una conexión correcta a la base de datos.
Si después de todo esto el error persiste, no dudes en contactar a tu proveedor de hosting. Ellos tienen acceso a los logs del servidor y pueden identificar el problema rápidamente.
[TIP] Para evitar futuros errores 500, mantén PrestaShop y todos sus módulos actualizados, haz copias de seguridad periódicas y evita instalar módulos de fuentes no confiables. Un buen mantenimiento preventivo es la mejor solución.
¡Espero que este artículo te haya sido de gran ayuda! Si tienes más dudas, recuerda que estamos aquí para apoyarte.
