🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Solucionar error 500 en PrestaShop (cPanel y otros)

Actualizado el 9 de septiembre de 2025

¡Vaya, qué susto! Estás trabajando tranquilamente en tu tienda online, gestionando pedidos o subiendo un producto nuevo, y de repente... ERROR 500. Una pantalla en blanco o un mensaje genérico de error interno del servidor. No te preocupes, es el dolor de cabeza más común en PrestaShop, pero también uno de los más fáciles de solucionar si sabes dónde mirar.

En esta guía completa, vamos a desgranar paso a paso cómo solucionar el error 500 en PrestaShop, tanto si tu hosting usa cPanel como si utilizas otros paneles de control como Syspanel (antes conocido como HestiaCP, que se accede por el puerto 2106). No necesitas ser un experto en programación; solo un poco de paciencia y seguir el orden lógico que te propongo.

¿Qué es exactamente el error 500 en PrestaShop?

Antes de ponernos manos a la obra, es importante entender qué significa este error.

El error 500 (Internal Server Error) es un mensaje genérico que envía el servidor cuando algo falla internamente, pero no puede precisar el motivo exacto. En el contexto de PrestaShop, suele deberse a un problema de permisos de archivos, un archivo .htaccess corrupto, un módulo incompatible o, incluso, un límite de memoria PHP agotado.

Lo bueno es que, aunque el mensaje sea genérico, el servidor guarda un registro de lo que ha pasado (los famosos logs). Nuestro objetivo será leer esos registros para encontrar la causa raíz y aplicar la solución correcta.

Primeros pasos: Diagnóstico rápido y seguro

No te lances a borrar archivos a lo loco. Sigue este orden para no empeorar las cosas.

1. Recarga la página y limpia caché

A veces, el error es un espejismo. Puede que el servidor estuviera sobrecargado o que una caché corrupta del navegador esté mostrando un error antiguo.

Prueba a recargar con Ctrl + F5 (o Cmd + Shift + R en Mac) para forzar la recarga sin caché.

Si el error persiste, pasa al siguiente paso.

2. Localiza el archivo de registro de errores (Logs)

Esta es la clave. El servidor te está diciendo dónde está el problema, solo tienes que escuchar. Dependiendo del panel de control, el acceso varía:

  • En cPanel: Busca la sección "Métricas" o "Registros" y haz clic en "Errores" o "Error Log". Normalmente verás una lista de los últimos errores con la fecha, la hora y la ruta del archivo que falla.
  • En Syspanel (HestiaCP): Accede a través del puerto 2106 (ej: https://tu-dominio.com:2106). Dentro, navega hasta la sección de "Registros" o "Logs" de tu dominio. Busca el archivo error.log o prestashop.log si lo has configurado.
  • Vía FTP: Si no encuentras el panel de logs, conecta por FTP y busca en la carpeta logs de la raíz de PrestaShop o en la carpeta var/logs (en versiones modernas). Dentro, busca archivos con extensión .log que se generan por fecha (ej: error.log).

[INFO] Si ves un error que menciona PHP Fatal error: Allowed memory size of X bytes exhausted, el problema es la memoria PHP. Si ves Uncaught exception con un nombre de clase, el problema es un módulo o un override. Anota ese mensaje, es oro puro.

3. Habilita el modo debug de PrestaShop (Temporal)

Si los logs no te dicen nada claro, vamos a obligar a PrestaShop a que nos muestre el error en pantalla. Para ello, editaremos el archivo de configuración.

Conéctate por FTP o al administrador de archivos de tu hosting y busca el archivo config/defines.inc.php en la raíz de tu tienda.

Ábrelo con un editor de texto plano (nunca con Word) y busca esta línea:

define('_PS_MODE_DEV_', false);

Cámbiala por:

define('_PS_MODE_DEV_', true);

Guarda el archivo y sube los cambios. Ahora, recarga tu tienda. En lugar del error 500, verás un mensaje de error detallado en pantalla, con la ruta del archivo y la línea exacta donde ocurre el problema.

[WARNING] Esto es una medida temporal para diagnosticar. Una vez hayas solucionado el error, vuelve a poner false para evitar que los clientes vean información sensible de tu servidor.

Soluciones comunes para el error 500 en PrestaShop

Ahora que ya tienes una pista, vamos a aplicar las soluciones más efectivas.

Solución 1: Corregir permisos de archivos y carpetas

Este es el culpable en el 80% de los casos. Si los permisos son demasiado restrictivos, el servidor no puede leer o escribir los archivos necesarios.

Cómo hacerlo en cPanel:

  1. Ve al "Administrador de Archivos".
  2. Selecciona la carpeta raíz de tu PrestaShop.
  3. Marca todos los archivos y carpetas (Ctrl + A).
  4. Haz clic en "Permisos" en la barra superior.
  5. Establece los permisos a 755 para las carpetas y 644 para los archivos.
  6. Aplica los cambios.

Cómo hacerlo en Syspanel (HestiaCP):

  1. Accede al administrador de archivos desde tu panel (puerto 2106).
  2. Navega a la raíz de tu tienda.
  3. Selecciona todo y en la opción de permisos, introduce 755 para directorios y 644 para archivos. Si tu panel no permite hacerlo en bloque, hazlo desde una conexión FTP con FileZilla, que es mucho más cómodo.

[TIP] La carpeta var/cache (o cache en versiones antiguas) y var/logs a veces necesitan permisos más amplios, como 775, para que PrestaShop pueda escribir en ellas. Si el error persiste, prueba con esos permisos en esas carpetas específicas.

Solución 2: Regenerar el archivo .htaccess

Un .htaccess corrupto o mal configurado es otra causa frecuente. Este archivo controla las URL amigables y el redireccionamiento.

Para regenerarlo:

  1. Conéctate por FTP y descarga el archivo .htaccess (está en la raíz, puede estar oculto, activa "mostrar archivos ocultos" en FileZilla).
  2. Haz una copia de seguridad en tu ordenador (por si acaso).
  3. Elimina el archivo .htaccess del servidor.
  4. Ve al panel de administración de tu PrestaShop: Preferencias -> URLs amigables.
  5. Sin cambiar nada, haz clic en "Guardar". PrestaShop regenerará el archivo .htaccess automáticamente.
  6. Si no puedes acceder al panel de administración, crea un archivo .htaccess vacío en la raíz y súbelo, luego intenta acceder al panel para regenerarlo.

Solución 3: Aumentar el límite de memoria PHP

Si el log mencionaba "Allowed memory size", esta es tu solución.

Desde cPanel:

  1. Busca la sección "Software" y haz clic en "Select PHP Version" (o "MultiPHP Manager").
  2. En la parte superior, verás una pestaña llamada "Opciones" o "Switch to PHP Options".
  3. Busca la directiva memory_limit.
  4. Cámbiala a 256M o 512M.
  5. Guarda los cambios.

Desde Syspanel (HestiaCP):

  1. Accede al panel (puerto 2106) y ve a la sección de "Web" o "Dominios".
  2. Busca la opción de "Configuración PHP" o "PHP-FPM".
  3. Ajusta el memory_limit a 256M o 512M.

Desde FTP (Solución universal):

  1. Descarga el archivo php.ini de la raíz (si no existe, créalo).
  2. Añade la línea: memory_limit = 256M
  3. Sube el archivo de nuevo.

Si no tienes acceso a php.ini, puedes intentar añadir esta línea al archivo .htaccess:

php_value memory_limit 256M

Solución 4: Desactivar módulos conflictivos

A veces, un módulo recién instalado o actualizado es el que rompe todo. Como no puedes acceder al panel de administración, tendrás que desactivarlo manualmente.

  1. Conéctate por FTP y navega a la carpeta modules.
  2. Busca la carpeta del módulo que sospechas que causa el problema (por ejemplo, si instalaste un módulo de pago ayer, empieza por ahí).
  3. No la borres, solo cámbiale el nombre añadiendo un sufijo como _bak (ej: micodigo_bak). Esto lo desactiva sin eliminarlo.
  4. Recarga tu tienda. Si el error desaparece, ese era el culpable.

[WARNING] Si el error es tan grave que la tienda no carga, desactiva todos los módulos. Para ello, ve a la carpeta modules y, uno a uno, ve renombrando los directorios. Es un trabajo tedioso, pero efectivo. Otra opción más rápida es usar la herramienta de "Resolución de problemas" de PrestaShop desde el administrador, si consigues acceder a él.

Solución 5: Limpiar la caché de PrestaShop manualmente

Una caché corrupta puede provocar un error 500. Para limpiarla sin acceder al panel:

  1. Conéctate por FTP.
  2. Navega a la carpeta var/cache (en PrestaShop 1.7+) o cache (en 1.6).
  3. Dentro, verás subcarpetas con nombres como dev o prod.
  4. Elimina el contenido de estas carpetas, pero no las carpetas en sí. Si no puedes borrar los archivos, cámbiales el nombre a algo como cache_vieja y crea una nueva carpeta cache vacía.

Solución 6: Actualizar o revertir el archivo .htaccess (Caso específico de Syspanel)

Si usas Syspanel (HestiaCP), a veces el gestor de tareas programadas o la configuración de seguridad puede modificar el .htaccess de forma incorrecta.

  1. Accede a Syspanel por el puerto 2106.
  2. Ve a la sección de "Configuración" de tu dominio.
  3. Busca la opción de "Proxy" o "Servidor Web" y asegúrate de que no hay reglas de redirección extrañas.
  4. Revisa el .htaccess directamente desde el administrador de archivos de Syspanel y compáralo con una copia de seguridad reciente si la tienes.

Preguntas Frecuentes (FAQ) sobre el error 500

¿El error 500 puede deberse a un problema de mi proveedor de hosting?

Sí, aunque es menos común. Si has probado todas las soluciones anteriores y el error persiste, contacta con tu proveedor. Puede haber un problema con la configuración del servidor, un fallo en el PHP-FPM o un corte de energía. Pregunta específicamente si hay algún error en los logs del servidor a nivel de sistema.

¿Puedo perder mis datos si intento arreglar el error 500?

Si sigues los pasos de esta guía, no. Solo estamos modificando permisos, renombrando archivos y limpiando caché. Nunca borres archivos sin hacer una copia de seguridad antes. En el peor de los casos, puedes perder la configuración de algún módulo desactivado, pero tus productos, pedidos y clientes están en la base de datos y no se tocan.

¿Cómo puedo prevenir este error en el futuro?

La prevención es clave. Sigue estos consejos:

  • Mantén PrestaShop, los módulos y el tema actualizados. Las actualizaciones corrigen errores y vulnerabilidades.
  • Haz copias de seguridad periódicas de tu base de datos y archivos. Así podrás restaurar rápidamente si algo falla.
  • Desactiva el modo debug (_PS_MODE_DEV_) en producción.
  • No instales módulos de fuentes no confiables. Pueden contener código malicioso o ser incompatibles.
  • Revisa los logs de tu servidor de vez en cuando para detectar problemas antes de que se conviertan en un error 500.

¿Qué hago si el error 500 solo aparece en el panel de administración?

Esto suele indicar un problema con un módulo específico del back-office o un conflicto con el tema del administrador. Prueba a desactivar el tema del administrador cambiando el nombre de la carpeta en themes (ej: default a default_bak). Si el problema persiste, desactiva los módulos que añaden funcionalidades al panel, como los de importación masiva o los de generación de PDF.

Mi hosting usa Syspanel, ¿hay algún truco especial?

Como mencionamos, Syspanel (HestiaCP) es un gran panel, pero su configuración de PHP-FPM a veces es más estricta. Asegúrate de que el memory_limit y el max_execution_time (tiempo máximo de ejecución) son suficientes (te recomendamos 256M y 120 segundos). Puedes ajustarlos en la sección de configuración de PHP de tu dominio, accediendo por el puerto 2106.

Conclusión: Recupera tu tienda paso a paso

El error 500 en PrestaShop es un contratiempo, pero no el fin del mundo. Siguiendo este orden lógico, podrás arreglar el error 500 en la mayoría de los casos sin necesidad de contratar a un experto.

Recuerda el orden de actuación:

  1. Diagnostica: Revisa los logs y activa el modo debug.
  2. Actúa: Corrige permisos, regenera .htaccess, aumenta la memoria PHP.
  3. Aísla: Desactiva módulos sospechosos y limpia la caché.
  4. Prevén: Actualiza todo y haz copias de seguridad.

Con un poco de calma y esta guía, tu tienda volverá a estar operativa en poco tiempo. Si después de todo el esfuerzo el problema continúa, no dudes en contactar con tu proveedor de hosting; para eso está su soporte técnico. ¡Mucho ánimo y a por ello!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel