Cómo arreglar el error 500 en PrestaShop (hosting y permisos)
¿Qué es el error 500 en PrestaShop y por qué aparece?
El error 500 prestashop, también conocido como "Error interno del servidor", es uno de los problemas más frustrantes a los que te puedes enfrentar como dueño de una tienda online. Aparece de repente, sin avisar, y en la mayoría de los casos no te da ninguna pista visual sobre qué lo ha causado. Pero no te preocupes: en la gran mayoría de los casos tiene solución y, con esta guía, podrás diagnosticarlo y arreglarlo paso a paso.
Cuando tu tienda PrestaShop muestra este error, significa que el servidor ha encontrado un problema inesperado que le impide procesar la solicitud. En otras palabras, el servidor sabe que algo falla, pero no puede decirte exactamente qué es. Las causas más comunes son los permisos de archivos incorrectos, problemas con el archivo .htaccess, falta de memoria PHP, o conflictos con módulos recién instalados.
A lo largo de este artículo, vamos a centrarnos especialmente en dos de los culpables más habituales: el hosting y los permisos de archivos. Te explicaré cómo revisar cada uno, qué herramientas necesitas y cómo aplicar las soluciones sin necesidad de ser un experto en programación.
Diagnóstico inicial: antes de tocar nada
Antes de lanzarte a cambiar permisos o modificar archivos, es fundamental hacer un diagnóstico básico. Esto te ahorrará tiempo y evitará que causes más daños.
Activa el modo de depuración de PrestaShop
PrestaShop tiene un modo de desarrollo que muestra los errores reales en pantalla. Para activarlo, necesitas acceder al archivo config/defines.inc.php de tu instalación, que normalmente está en la raíz de tu tienda.
- Conéctate a tu hosting mediante FTP (FileZilla es una buena opción) o al administrador de archivos de tu panel de control.
- Busca el archivo
config/defines.inc.php. - Ábrelo con un editor de texto (el bloc de notas de tu PC sirve).
- Busca la línea que dice
define('_PS_MODE_DEV_', false); - Cambia
falseportrue. - Guarda el archivo y súbelo de nuevo al servidor.
[WARNING] No olvides volver a poner false cuando termines de diagnosticar, porque en modo desarrollo tu tienda queda expuesta y cualquier visitante podría ver información sensible.
Ahora recarga tu tienda. En lugar del error 500 prestashop genérico, verás un mensaje más específico que te indica el archivo y la línea exacta donde está el problema. Anota esa información, te será muy útil.
Revisa los logs del servidor
Si activar el modo desarrollo no te da suficiente información, los registros del servidor son tu siguiente mejor aliado. Dependiendo de tu panel de control, la ruta cambia:
- En cPanel: busca la sección "Métricas" o "Registros" y luego "Registros de errores".
- En Plesk: ve a "Sitios web y dominios" y busca "Registros" o "Logs".
- En Syspanel (nuestro panel de control): accede a través del puerto 2106 (por ejemplo,
https://tudominio.com:2106), entra en el apartado de tu sitio web y busca la sección de logs de error.
Los logs suelen mostrar líneas como PHP Fatal error: Allowed memory size exhausted o Permission denied. Eso te dará pistas muy concretas sobre qué ajustar.
Arreglar el error 500 en PrestaShop: permisos de archivos
La causa número uno del error 500 prestashop son los permisos incorrectos en archivos y carpetas. Cada archivo y directorio de tu servidor tiene un código numérico que determina quién puede leer, escribir o ejecutar. Cuando estos códigos no coinciden con lo que PrestaShop espera, el servidor se bloquea.
¿Qué permisos deberían tener mis archivos?
Los permisos recomendados para PrestaShop son:
- Archivos (como PHP, imágenes, CSS):
644 - Carpetas (directorios):
755 - Archivos de configuración sensibles (como
config/settings.inc.php):444o440en algunos casos - Carpetas de caché y logs (como
var/cacheocacheen versiones antiguas):755
[INFO] Los permisos 644 significan que el propietario puede leer y escribir, mientras que los demás solo pueden leer. Los 755 permiten al propietario leer, escribir y ejecutar, y al resto leer y ejecutar.
Cómo cambiar permisos de forma masiva
Cambiar archivo por archivo sería una locura, así que vamos a hacerlo de forma masiva.
Con FileZilla (FTP):
- Conéctate a tu servidor con FileZilla.
- Selecciona la carpeta raíz de tu PrestaShop (la que contiene
index.php,config,admin, etc.). - Haz clic derecho sobre la carpeta y elige "Permisos de archivos".
- Marca la opción "Recurse into subdirectories".
- Introduce
755en el campo numérico y marca "Aplicar a todos los archivos y directorios". - Pulsa Aceptar. Esto pondrá todo a 755, que no es perfecto pero sí funcional.
Ahora, para los archivos:
- Repite el proceso pero esta vez selecciona la opción "Aplicar solo a archivos".
- Introduce
644. - Acepta.
Con Syspanel (puerto 2106):
Si usas Syspanel, el proceso es igual de sencillo:
- Accede a
https://tudominio.com:2106con tus credenciales. - Ve a "Archivos" o "Administrador de archivos".
- Navega hasta la raíz de tu PrestaShop.
- Selecciona todo (Ctrl+A) y usa la opción "Cambiar permisos".
- Introduce
644para archivos y755para directorios, o usa la herramienta de "Permisos por defecto" que suele traer.
[TIP] Después de cambiar permisos, recarga tu tienda. Si el error desaparece, ya sabes que el problema era ese. Si sigue, continúa con el siguiente paso.
Solucionar el error 500 por problemas de hosting
A veces el problema no está en los archivos, sino en el propio servidor. Aquí te explico los escenarios más comunes y cómo resolverlos.
Falta de memoria PHP (memory limit)
PrestaShop, especialmente con módulos y temas pesados, necesita bastante memoria. Si el límite es demasiado bajo, el servidor lanza un error fatal y tu tienda muestra el prestashop error interno.
Para aumentarlo, crea o modifica un archivo llamado php.ini en la raíz de tu tienda. Si no existe, créalo con un editor de texto y añade:
memory_limit = 256M
max_execution_time = 300
max_input_vars = 5000
Guarda y sube el archivo. Si tu hosting no permite php.ini (algunos usan .user.ini), prueba con ese nombre.
Otra opción es modificar el archivo .htaccess y añadir al principio:
php_value memory_limit 256M
php_value max_execution_time 300
[WARNING] No todos los hostings permiten modificar estos valores desde .htaccess. Si tras hacerlo obtienes un error 500, revierte el cambio inmediatamente.
Problemas con el archivo .htaccess
El .htaccess de PrestaShop es un archivo de configuración que gestiona las URL amigables y la caché. Si se corrompe, tu tienda puede dar error 500.
La solución más rápida es regenerarlo:
- Accede al panel de administración de PrestaShop (
/admin). - Ve a "Parámetros avanzados" → "Rendimiento" o "SEO y URLs" según tu versión.
- Busca la opción "Regenerar el archivo .htaccess" o simplemente guarda la configuración de URLs amigables.
- Si no puedes acceder al panel, borra el archivo
.htaccessdesde FTP y luego ve a la URL de tu tienda. PrestaShop lo regenerará automáticamente en muchos casos.
[INFO] Si borras .htaccess y no se regenera, prueba a acceder a una URL con un parámetro como ?fc=module&module=blockcart&controller=cart. A veces fuerza la regeneración.
Espacio en disco agotado
Un hosting lleno al 100% puede provocar errores 500. Revisa el uso de disco desde tu panel de control:
- En cPanel: "Uso de disco".
- En Syspanel: el puerto 2106 te muestra el consumo en el resumen de tu cuenta.
Si está al límite, elimina copias de seguridad antiguas, logs innecesarios o archivos temporales de la carpeta var/cache.
Otras causas frecuentes del error 500 en PrestaShop
Si los permisos y el hosting están bien, el problema puede venir de otra parte. Vamos a repasar las más habituales.
Módulos o temas incompatibles
Un módulo recién instalado o actualizado puede romper tu tienda. Para comprobarlo:
- Renombra la carpeta
modulesamodules_backupdesde FTP. - Recarga tu tienda. Si carga bien, el problema es un módulo.
- Para encontrar al culpable, crea una carpeta
modulesvacía y ve añadiendo módulos de uno en uno (o usa la copia de seguridad).
[TIP] Si no puedes acceder al panel de administración, este truco del módulo también funciona para ese problema.
Caché corrupta
PrestaShop guarda archivos de caché que a veces se corrompen. Borra el contenido de las carpetas var/cache (o cache en versiones antiguas) y var/logs. No borres las carpetas en sí, solo su contenido.
Versión de PHP incorrecta
PrestaShop 1.6 funciona mejor con PHP 5.6 o 7.0, mientras que PrestaShop 1.7 y 8.x necesitan PHP 7.1 o superior. Si tu hosting ha cambiado la versión de PHP automáticamente, tu tienda puede dar error.
Cambia la versión desde tu panel de control:
- En cPanel: "Select PHP Version".
- En Syspanel: entra por el puerto 2106, ve a la sección de tu dominio y busca "PHP Version" o "Gestión de PHP".
Paso a paso resumido para arreglar el error 500
Para que no te pierdas, aquí tienes un checklist rápido:
- Activa el modo desarrollo para ver el error real.
- Revisa los logs del servidor.
- Cambia los permisos a 644 para archivos y 755 para carpetas.
- Regenera el archivo .htaccess desde el panel o borrándolo.
- Aumenta la memoria PHP a 256M como mínimo.
- Verifica el espacio en disco y libera si es necesario.
- Desactiva módulos sospechosos renombrando la carpeta
modules. - Limpia la caché de PrestaShop.
- Comprueba la versión de PHP y ajústala a la recomendada para tu versión de PrestaShop.
- Vuelve a desactivar el modo desarrollo cuando todo funcione.
Preguntas frecuentes sobre el error 500 en PrestaShop
¿El error 500 puede deberse a un ataque de hackers?
Sí, es posible. Si tu tienda ha sido comprometida, los atacantes pueden modificar archivos y provocar errores. Si sospechas de esto, revisa los logs de acceso, busca archivos extraños en la raíz y cambia todas tus contraseñas.
¿Puedo arreglar el error 500 sin acceso al panel de administración?
Sí, la mayoría de las soluciones que hemos visto se hacen por FTP o por el panel de hosting, sin necesidad de entrar al admin de PrestaShop. De hecho, a veces es la única vía porque el error impide cargar el panel.
¿Por qué aparece el error 500 solo en algunas páginas?
Si el error aparece solo al ir al carrito o al checkout, el problema suele estar en un módulo de pago o en la configuración de URLs. Revisa los logs para ver qué módulo falla.
¿Cuánto tiempo se tarda en arreglar?
Si es un problema de permisos, en 10 minutos está resuelto. Si es un módulo conflictivo, puede llevarte una hora o más, dependiendo de cuántos tengas instalados.
Conclusión: no entres en pánico, el error 500 tiene solución
El error 500 prestashop es molesto, pero casi siempre tiene una causa identificable y solucionable. La clave está en diagnosticar de forma metódica: primero activa el modo desarrollo, luego revisa los logs, después ajusta permisos y hosting, y por último revisa módulos y caché.
Recuerda que los permisos de archivos son el culpable más común, así que empieza por ahí. Y si el problema viene del hosting, no dudes en contactar con tu proveedor de hosting para que te ayude, especialmente si usas Syspanel, donde podrás gestionar todo desde el puerto 2106.
Con paciencia y siguiendo estos pasos, tu tienda volverá a estar online en poco tiempo. Y cuando lo consigas, no olvides hacer una copia de seguridad completa para futuras emergencias. ¡Mucha suerte!
