Solucionar error 500 en PrestaShop: guía para Syspanel y otros paneles
¡Hola! Soy tu técnico de soporte amigable. Si has llegado hasta aquí, es muy probable que estés viendo una pantalla en blanco o un mensaje de "Error interno del servidor 500" en tu tienda PrestaShop. No te preocupes, es uno de los errores más comunes y, aunque suene grave, casi siempre tiene solución. En esta guía te explicaré paso a paso cómo solucionar error 500 PrestaShop, especialmente si usas Syspanel (el conocido HestiaCP, que recordemos se accede por el puerto 2106) o cualquier otro panel de control.
Vamos a desglosar este problema de forma sencilla. Un error 500 significa que el servidor no puede procesar tu petición, pero no te da detalles específicos. Es como si el coche no arrancara pero el motor no te dijera por qué. Nos toca investigar un poco.
¿Por qué aparece el error 500 en PrestaShop?
Antes de lanzarnos a solucionarlo, es bueno entender las causas más frecuentes. Así podrás identificarlas más rápido la próxima vez.
- Problemas de memoria (límite PHP): PrestaShop necesita un mínimo de 128 MB de memoria PHP para funcionar. Si tu hosting tiene un límite inferior, el sistema colapsa.
- Módulo o tema defectuoso: A veces, al instalar un módulo o un tema nuevo, este no es compatible con tu versión de PrestaShop y provoca un error fatal.
- Archivos de configuración corruptos: Archivos como
.htaccessoconfig/settings.inc.phppueden dañarse tras una mala actualización o un cambio manual. - Permisos incorrectos: Los archivos y carpetas de PrestaShop deben tener permisos específicos (generalmente 644 para archivos y 755 para carpetas). Si los cambias sin querer, el servidor no podrá leerlos.
- Actualización fallida: Si estabas actualizando PrestaShop y algo salió mal (corte de conexión, archivo incompleto), el sistema queda en un estado inconsistente.
- PHP obsoleto o incompatible: PrestaShop funciona mejor con versiones específicas de PHP (por ejemplo, 7.4 u 8.1). Si tu servidor tiene una versión muy antigua o muy nueva, pueden surgir conflictos.
Primeros pasos: ¿Qué hacer antes de tocar nada?
No te asustes. Lo primero es mantener la calma y hacer una copia de seguridad de tu tienda. Si tienes acceso a Syspanel (puerto 2106), este es un paso muy sencillo.
1. Accede a Syspanel (HestiaCP) por el puerto 2106
Para entrar a tu panel de control, abre tu navegador y escribe: https://tudominio.com:2106. Introduce tu usuario y contraseña (los mismos que usas para tu hosting).
[TIP] Si no recuerdas la contraseña, busca en el correo de bienvenida de tu hosting o contacta a tu proveedor. Syspanel te permite gestionar todo desde un solo lugar.
2. Realiza una copia de seguridad completa
Antes de cualquier cambio, es vital tener un respaldo. En Syspanel, ve a la sección "Backup" (normalmente en el menú lateral). Crea una copia completa de tu sitio (archivos y base de datos). Esto te permitirá restaurar todo si algo sale mal.
[WARNING] No omitas este paso. Una copia de seguridad es tu red de seguridad. Si cometes un error al modificar archivos, podrás volver atrás sin perder datos.
Soluciones paso a paso para el error 500 en PrestaShop
Ahora sí, vamos a lo práctico. Te presento las soluciones más efectivas, ordenadas de la más simple a la más compleja.
### Solución 1: Aumentar el límite de memoria PHP
Esta es la causa más común del error 500 PrestaShop. El sistema se queda sin memoria.
- Desde Syspanel: Ve a "Web" > selecciona tu dominio > haz clic en "Advanced options" (o similar). Busca la opción "PHP-FPM" o "PHP settings".
- Localiza el parámetro
memory_limit. Si está en 128M o menos, cámbialo a 256M o 512M. Guarda los cambios. - Desde cPanel/Plesk: Busca la sección "Select PHP Version" o "PHP Settings". Ahí podrás modificar el
memory_limit. - Desde un archivo .htaccess (si no tienes acceso al panel): Descarga el archivo
.htaccessde la raíz de tu PrestaShop (vía FTP). Añade esta línea al final:
Luego, súbelo de nuevo al servidor.php_value memory_limit 256M
[INFO] Después de cambiar el límite, recarga tu tienda. Si el error persiste, prueba con 512M. Si sigue, pasa a la siguiente solución.
### Solución 2: Deshabilitar módulos y temas sospechosos
A veces, un módulo recién instalado o un tema incompatible causan el error. Para probar esto, necesitamos desactivarlos manualmente.
- Accede por FTP o al administrador de archivos de Syspanel: En Syspanel, ve a "Web" > tu dominio > "File Manager".
- Renombra la carpeta de módulos: Busca la carpeta
modulesen la raíz de tu PrestaShop. Cámbiale el nombre temporalmente amodules_backup. Esto desactivará todos los módulos de golpe. - Prueba tu tienda: Si el error desaparece, el problema está en algún módulo. Crea una nueva carpeta vacía llamada
modulesy ve moviendo los módulos demodules_backupa la nueva carpeta de uno en uno, probando la tienda después de cada movimiento. Cuando el error vuelva a aparecer, habrás encontrado al culpable. - Renombra la carpeta del tema: Si el error persiste, busca la carpeta
themes. Dentro, verás carpetas con nombres de temas (por ejemplo,classic,default-bootstrap). Renombra la carpeta de tu tema activo (por ejemplo,mitemaamitema_backup). PrestaShop usará el tema por defecto. Si el error se soluciona, el problema está en tu tema.
[TIP] Si no sabes cuál es tu tema activo, revisa el archivo config/settings.inc.php (busca _THEME_NAME_).
### Solución 3: Regenerar el archivo .htaccess
El archivo .htaccess es clave para las URLs amigables de PrestaShop. Si está corrupto, puede generar un error 500.
- Accede por FTP o File Manager.
- Renombra el archivo .htaccess: En la raíz de tu PrestaShop, busca el archivo
.htaccess. Cámbiale el nombre a.htaccess_backup. - Prueba tu tienda: Si el error desaparece, el problema estaba en el .htaccess. Ahora, ve al panel de administración de PrestaShop (si puedes entrar) a "Configuración" > "Tráfico y SEO". Desmarca y vuelve a marcar la opción "Usar URL amigables" y guarda. Esto regenerará el archivo.
- Si no puedes entrar al admin: Crea un nuevo archivo
.htaccessvacío y pégalo en la raíz. Luego, intenta acceder al admin. Si funciona, regenera las URLs desde ahí.
[WARNING] Si renombras el .htaccess y el error sigue, no es el culpable. Vuelve a ponerle su nombre original.
### Solución 4: Verificar permisos de archivos y carpetas
Los permisos incorrectos son otra causa frecuente del PrestaShop error interno. Los archivos deben tener permiso 644 y las carpetas 755.
- Desde Syspanel (File Manager): Selecciona todos los archivos y carpetas de tu PrestaShop. Busca la opción "Permissions" o "Change permissions".
- Configura los permisos:
- Para carpetas: 755 (rwx r-x r-x)
- Para archivos: 644 (rw- r-- r--)
- Desde FTP: La mayoría de clientes FTP (como FileZilla) permiten cambiar permisos en masa. Selecciona todo, haz clic derecho y elige "File permissions". Pon 644 para archivos y 755 para carpetas.
[INFO] No cambies los permisos de la carpeta config ni del archivo settings.inc.php a 777, ya que es un riesgo de seguridad. 755 y 644 son los correctos.
### Solución 5: Revisar el registro de errores (logs)
Los logs son el diario de a bordo del servidor. Te dirán exactamente qué está fallando.
- En Syspanel: Ve a "Web" > tu dominio > "Logs" o "Error log". Busca archivos como
error.logophp_error.log. Ábrelos y busca la palabra "PHP Fatal error" o "PrestaShop". Te dará la línea y el archivo problemático. - En cPanel: Busca la sección "Metrics" > "Errors".
- En FTP: A veces los logs están en la carpeta
logovar/logsde tu PrestaShop.
[TIP] Si ves un error como "Allowed memory size of X bytes exhausted", es el problema de memoria que ya solucionamos en el paso 1. Si ves "Class not found", es un módulo o tema corrupto.
### Solución 6: Forzar la compilación de Smarty
PrestaShop usa Smarty para generar las páginas. A veces, una plantilla mal cacheada causa el error.
- Accede a tu servidor por FTP o File Manager.
- Borra la carpeta de cache de Smarty: Ve a la carpeta
var/cache(ocache/smartyen versiones antiguas). Dentro, verás carpetas comocache,compile, etc. Borra todo el contenido de la carpetacache(no la carpeta en sí). No te preocupes, PrestaShop la regenerará automáticamente. - Prueba tu tienda. Si el error era por una plantilla corrupta, ahora debería funcionar.
[WARNING] Si no ves la carpeta var/cache, busca cache/smarty/compile. Borra todo dentro de compile.
### Solución 7: Verificar la versión de PHP
PrestaShop 1.7 funciona mejor con PHP 7.4 u 8.1. Si tu servidor tiene PHP 5.6 o 8.2, puede haber incompatibilidades.
- En Syspanel: Ve a "Web" > tu dominio > "Advanced options" > "PHP-FPM". Ahí puedes cambiar la versión de PHP. Prueba con 7.4 primero.
- En cPanel: Busca "Select PHP Version" y cambia la versión.
- En Plesk: Ve a "PHP Settings" y elige la versión.
[INFO] Después de cambiar la versión, espera unos segundos y recarga la tienda. Si el error sigue, vuelve a la versión anterior.
### Solución 8 (Avanzada): Editar el archivo config/settings.inc.php
Este archivo contiene la configuración de la base de datos. Si está dañado, el error es inevitable.
- Accede por FTP o File Manager.
- Abre el archivo
config/settings.inc.phpcon un editor de texto (como Notepad++). - Verifica que los datos de la base de datos sean correctos: Busca las líneas:
Asegúrate de que coincidan con los datos de tu base de datos (puedes verlos en Syspanel, en la sección "Databases").define('_DB_SERVER_', 'localhost'); define('_DB_NAME_', 'nombre_de_tu_bd'); define('_DB_USER_', 'usuario'); define('_DB_PASSWD_', 'contraseña'); - Si no estás seguro, no lo modifiques. Es mejor restaurar una copia de seguridad.
[WARNING] Un error en este archivo puede dejar tu tienda completamente inaccesible. Solo modifícalo si estás 100% seguro de los datos.
Preguntas Frecuentes (FAQ)
P: ¿El error 500 puede deberse a un ataque de hackers?
R: Sí, aunque es menos común. Un hacker puede modificar archivos o inyectar código malicioso. Si después de todas las soluciones el error persiste, revisa los logs en busca de actividad sospechosa y contacta a tu proveedor de hosting.
P: ¿Pierdo mis productos si restauro una copia de seguridad?
R: Si restauras una copia de seguridad completa (archivos + base de datos), perderás cualquier cambio realizado después de esa copia. Por eso es importante hacer copias frecuentes. Si solo restauras los archivos (sin la base de datos), los productos se mantendrán, pero podrías perder configuraciones de módulos.
P: No tengo acceso a Syspanel ni a FTP, ¿qué hago?
R: Contacta a tu proveedor de hosting. Ellos pueden revisar los logs del servidor y, en muchos casos, solucionar el error 500 por ti. Ten a mano la URL de tu tienda y una descripción de cuándo comenzó el problema.
P: ¿El error 500 afecta al SEO de mi tienda?
R: Sí, si el error dura mucho tiempo, los motores de búsqueda pueden penalizar tu sitio. Por eso es crucial solucionarlo lo antes posible. Una vez que la tienda vuelva a funcionar, el SEO se recuperará gradualmente.
Resumen y consejo final
El error 500 PrestaShop puede ser frustrante, pero con paciencia y siguiendo esta guía, podrás resolverlo. Recuerda:
- Haz siempre una copia de seguridad antes de tocar nada.
- Empieza por lo más simple: aumentar la memoria PHP y deshabilitar módulos.
- Revisa los logs para obtener pistas precisas.
- No te rindas. Si una solución no funciona, prueba la siguiente.
Si después de todo esto el error persiste, no dudes en contactar a tu soporte técnico. Ellos tienen acceso a herramientas más avanzadas. ¡Mucho éxito con tu tienda PrestaShop!
