Cómo arreglar el error 500 en PrestaShop (cPanel y otros)
¿Qué es el error 500 en PrestaShop y por qué aparece?
El error 500 PrestaShop, también conocido como PrestaShop internal server error, es uno de los fallos más temidos por cualquier dueño de tienda online. La buena noticia es que, en la mayoría de los casos, tiene solución y no requiere que seas un experto en programación.
Cuando tu tienda muestra este error, lo que ves es un mensaje genérico como "Internal Server Error" o "Error 500". Este código significa que algo salió mal en el servidor, pero no te dice exactamente qué. Es como si el servidor dijera: "algo se rompió, pero no sé explicarte qué fue".
Las causas más comunes incluyen archivos con permisos incorrectos, un archivo .htaccess corrupto, problemas de memoria PHP, módulos incompatibles o incluso un archivo de configuración dañado. Vamos a atacarlas una por una, desde las soluciones más sencillas hasta las más avanzadas.
Antes de empezar: haz una copia de seguridad
[WARNING]
Nunca intentes arreglar el error 500 sin hacer una copia de seguridad completa de tu tienda. Un paso en falso podría empeorar las cosas y perder datos importantes.
Para hacer una copia de seguridad, accede a tu panel de control (cPanel, Syspanel o el que uses) y exporta tanto la base de datos como los archivos de tu PrestaShop. Si no sabes cómo hacerlo, contacta con tu proveedor de hosting antes de continuar.
Solución 1: Activa el modo debug de PrestaShop (el primer paso)
Antes de tocar nada, necesitas ver el error real detrás del mensaje genérico. PrestaShop tiene un modo de depuración que muestra el error exacto.
Cómo activar el modo debug
- Accede a tu hosting mediante FTP (FileZilla es gratuito y fácil de usar) o al administrador de archivos de tu panel.
- Busca la carpeta raíz donde está instalado PrestaShop (normalmente
public_htmlowww). - Localiza el archivo
config/defines.inc.php. - Ábrelo con un editor de texto (no uses el bloc de notas de Windows, mejor Notepad++ o similar).
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda el archivo y súbelo de nuevo al servidor.
Ahora recarga tu tienda. Verás un mensaje de error mucho más descriptivo, como un problema con un archivo concreto o una función de PHP. Anota ese mensaje, te será muy útil.
[TIP]
Si no encuentras el archivo defines.inc.php, puede que tu PrestaShop esté en una subcarpeta. Revisa la estructura de carpetas de tu hosting.
Una vez que hayas identificado el problema, puedes dejar el modo debug activado mientras lo solucionas. Cuando termines, vuelve a poner false para que tus clientes no vean errores técnicos.
Solución 2: Corrige los permisos de archivos y carpetas
La causa más común del error 500 en PrestaShop son los permisos incorrectos. Si algún archivo tiene permisos demasiado restrictivos o demasiado abiertos, el servidor no puede leerlo o ejecutarlo correctamente.
Permisos correctos para PrestaShop
- Archivos: 644
- Carpetas: 755
- Carpeta
config: 755 - Archivo
.htaccess: 644 - Carpeta
cache: 755 (a veces 777 si tu hosting lo requiere)
Cómo cambiar permisos con FileZilla
- Conecta con FileZilla a tu servidor.
- Selecciona todos los archivos y carpetas de la raíz de PrestaShop.
- Haz clic derecho y elige "Permisos de archivo".
- Introduce
644para archivos y755para carpetas. - Marca la opción "Recurse into subdirectories" y elige "Apply to files only" o "Apply to directories only" según corresponda.
[INFO]
Si tu hosting usa PHP como módulo de Apache (mod_php), los permisos 644 y 755 son los correctos. Si usas PHP como CGI o FastCGI, puede que necesites permisos 755 en archivos y 775 en carpetas. Pregunta a tu hosting si no estás seguro.
Después de cambiar los permisos, recarga tu tienda. Si el error persiste, sigue con la siguiente solución.
Solución 3: Regenera el archivo .htaccess
El archivo .htaccess es un archivo de configuración que controla cómo Apache maneja tu tienda. Si está dañado o tiene reglas incompatibles, puede provocar el error 500 PrestaShop.
Cómo regenerar el .htaccess desde el panel de administración
- Accede a tu panel de administración de PrestaShop (normalmente en
/admino/backoffice). - Ve a Parámetros avanzados → Rendimiento.
- Busca la sección Archivo .htaccess.
- Haz clic en el botón Guardar o Regenerar (dependiendo de la versión).
Si no puedes acceder al panel de administración, puedes hacerlo manualmente:
- Conecta por FTP y localiza el archivo
.htaccessen la raíz. - Renómbralo a
.htaccess.bak(esto lo desactiva). - Recarga tu tienda. Si funciona, el archivo estaba corrupto.
- Ve a tu panel de administración y regenera el .htaccess como se explica arriba.
[WARNING]
No borres el archivo .htaccess sin hacer una copia de seguridad. Contiene reglas importantes de SEO y seguridad.
Solución 4: Aumenta el límite de memoria PHP
A veces el error 500 PrestaShop aparece porque PHP se queda sin memoria. Esto es especialmente común si tienes muchos módulos activos o catálogos muy grandes.
Cómo aumentar la memoria PHP desde cPanel
- Accede a cPanel y busca la sección Software o Select PHP Version.
- Haz clic en Switch to PHP Options o Options.
- Busca la opción
memory_limit. - Cámbiala a
256Mo incluso512M. - Guarda los cambios y recarga tu tienda.
Cómo aumentarla manualmente
Si tu hosting no tiene esa opción, edita el archivo php.ini o el archivo .htaccess:
- Conecta por FTP.
- Abre el archivo
.htaccess. - Añade esta línea al final:
php_value memory_limit 256M
- Guarda y sube el archivo.
[TIP]
También puedes crear un archivo llamado php.ini en la raíz y añadir memory_limit = 256M. Algunos hosts lo leen automáticamente.
Solución 5: Desactiva módulos problemáticos
Un módulo incompatible o mal configurado puede provocar el error 500 PrestaShop. Si el error empezó después de instalar o actualizar un módulo, ese es el culpable más probable.
Cómo desactivar módulos sin acceso al panel
- Conecta por FTP a tu hosting.
- Ve a la carpeta
modules. - Localiza la carpeta del módulo sospechoso (por ejemplo, si instalaste un módulo de envíos, busca su nombre).
- Renombra la carpeta añadiendo
_disabledal final (por ejemplo,paypal_disabled). - Recarga tu tienda.
Si el error desaparece, ese módulo era el problema. Puedes intentar actualizarlo a una versión compatible o contactar con su desarrollador.
[INFO]
También puedes desactivar todos los módulos no esenciales temporalmente. Si la tienda funciona, reactívalos uno a uno para encontrar el culpable.
Solución 6: Limpia la caché de PrestaShop
A veces la caché de PrestaShop se corrompe y provoca errores extraños. Limpiarla es rápido y puede solucionar el problema.
Cómo limpiar la caché manualmente
- Conecta por FTP.
- Ve a la carpeta
var/cache(en PrestaShop 1.7) ocache(en versiones anteriores). - Borra todos los archivos dentro de esa carpeta, pero no la carpeta en sí.
- Ve también a la carpeta
var/logsy borra su contenido. - Recarga tu tienda.
[TIP]
Si tu hosting tiene un panel como Syspanel (recuerda, el puerto de acceso es el 2106), puede que tenga una opción de "limpiar caché" directamente. Búscala en el menú.
Solución 7: Verifica los logs del servidor
Si ninguna de las soluciones anteriores funciona, necesitas mirar los logs del servidor. Ahí encontrarás el error exacto.
Cómo ver los logs en cPanel
- Accede a cPanel.
- Busca la sección Métricas o Registros.
- Haz clic en Error Log o Apache Error Log.
- Busca las últimas entradas con la fecha de hoy.
- Fíjate en los mensajes que mencionen tu dominio o la ruta de PrestaShop.
Los errores típicos que verás son:
PHP Fatal error: Allowed memory size exhausted→ Problema de memoria (solución 4).PHP Fatal error: Call to undefined function→ Módulo o tema incompatible.Permission denied→ Problema de permisos (solución 2).
[WARNING]
Los logs pueden ser técnicos y abrumadores. Si no entiendes algo, copia el mensaje y búscalo en Google o consúltalo con tu hosting.
Solución 8: Revisa la versión de PHP
PrestaShop necesita una versión específica de PHP para funcionar correctamente. Si tu hosting actualizó PHP automáticamente, puede que tu tienda no sea compatible.
Versiones recomendadas
- PrestaShop 1.6: PHP 5.6 a 7.1
- PrestaShop 1.7: PHP 7.1 a 7.4 (idealmente 7.4)
- PrestaShop 8: PHP 7.2 a 8.0
Cómo cambiar la versión de PHP en cPanel
- Ve a Select PHP Version en cPanel.
- Elige la versión recomendada para tu PrestaShop.
- Guarda los cambios.
[INFO]
Si tu hosting usa Syspanel (puerto 2106), busca la sección de "Versiones de PHP" o "PHP Manager". El proceso es similar.
Solución 9: Restaura un backup reciente
Si todo lo demás falla, la opción más segura es restaurar una copia de seguridad de cuando tu tienda funcionaba correctamente.
Pasos para restaurar
- Accede a cPanel.
- Ve a Backup o Backup Wizard.
- Restaura la base de datos y los archivos desde la copia más reciente.
- Espera a que termine el proceso (puede tardar varios minutos).
- Recarga tu tienda.
[WARNING]
Al restaurar, perderás todos los cambios hechos desde la fecha del backup. Asegúrate de que es tu última opción.
Solución 10: Contacta con tu proveedor de hosting
Si has probado todo y el error 500 PrestaShop persiste, el problema puede estar en la configuración del servidor. Contacta con tu hosting y diles:
- Que tu tienda PrestaShop muestra un error 500.
- Qué soluciones has probado ya.
- El mensaje de error exacto que ves en el modo debug o en los logs.
La mayoría de los hosts tienen soporte 24/7 y pueden revisar la configuración del servidor por ti.
Preguntas frecuentes (FAQ)
¿El error 500 es lo mismo que el error 503?
No. El error 500 es un error interno del servidor, mientras que el 503 indica que el servidor está temporalmente sobrecargado o en mantenimiento. Las soluciones son diferentes.
¿Puedo perder mis datos si intento arreglar el error 500?
Si sigues las soluciones de esta guía y haces una copia de seguridad antes, el riesgo es mínimo. La restauración de backups es tu red de seguridad.
¿Cuánto tiempo tarda en solucionarse el error 500?
Depende de la causa. Los permisos o la caché pueden arreglarse en minutos. Un módulo incompatible o un problema de PHP pueden llevar más tiempo.
¿Necesito conocimientos técnicos para resolverlo?
No. Las soluciones de esta guía están pensadas para usuarios sin experiencia técnica. Solo necesitas acceso a tu hosting y seguir los pasos con calma.
¿Qué hago si no tengo acceso al panel de administración?
Puedes usar FTP para la mayoría de las soluciones. Si ni siquiera tienes acceso FTP, contacta con tu hosting para que te ayuden a recuperar el acceso.
Resumen final
El error 500 PrestaShop es frustrante, pero casi siempre tiene solución. Sigue estos pasos en orden:
- Activa el modo debug para ver el error real.
- Corrige los permisos de archivos y carpetas.
- Regenera el archivo
.htaccess. - Aumenta la memoria PHP.
- Desactiva módulos sospechosos.
- Limpia la caché.
- Revisa los logs del servidor.
- Verifica la versión de PHP.
- Restaura un backup si es necesario.
- Contacta con tu hosting como último recurso.
[TIP]
Para evitar futuros errores 500, mantén PrestaShop y sus módulos siempre actualizados, haz backups periódicos y no instales módulos de fuentes no oficiales.
Con paciencia y esta guía, tu tienda volverá a estar operativa en poco tiempo. Si te has quedado con dudas, déjalas en los comentarios y te ayudaremos a resolverlas.
