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

Solución: Error 500 en PrestaShop (cPanel, Plesk, DirectAdmin)

Actualizado el 18 de septiembre de 2025

[INFO] Si has llegado hasta aquí es porque tu tienda PrestaShop te está mostrando el temido error 500 PrestaShop. Respira hondo, no es el fin del mundo. En este artículo, te voy a guiar paso a paso para que lo soluciones en los tres paneles de control más comunes: cPanel, Plesk y DirectAdmin. No necesitas ser un experto en programación; solo sigue el orden de las soluciones.

El error 500 PrestaShop (o PrestaShop 500 internal server) es un error genérico que indica que algo falló en el servidor, pero no te dice exactamente qué. Es como si el motor de tu coche se parara sin encender el testigo de "check engine". Por eso, vamos a ir de lo más simple a lo más complejo para diagnosticar y arreglar el problema.


¿Por qué aparece el Error 500 en PrestaShop?

Antes de lanzarnos a tocar archivos, es útil entender las causas más comunes. Esto te ahorrará tiempo. Las razones típicas son:

  • Archivos con permisos incorrectos: PrestaShop necesita que ciertos archivos y carpetas tengan permisos específicos para leer y escribir.
  • Un archivo .htaccess corrupto o incompatible: Este archivo es vital para las URL amigables y la configuración del servidor. Si se daña, todo colapsa.
  • Límite de memoria PHP agotado (memory_limit): Si tu tienda crece y el límite es bajo, el servidor se rinde.
  • Errores de sintaxis en un archivo de configuración: A veces, al editar config/settings.inc.php (en versiones antiguas) o app/config/parameters.php (en versiones modernas), se introduce un error.
  • Un módulo o tema incompatible: Tras una actualización o instalación, algo puede romper la compatibilidad.
  • Actualización de PHP incompleta o versión no soportada: Si tu hosting cambió la versión de PHP, tu PrestaShop puede no ser compatible.

Fase 1: Diagnóstico Inicial (Obligatorio)

Vamos a activar el "modo detective" para que el servidor nos diga qué está pasando. No te saltes este paso.

### Activar el modo debug de PrestaShop

Este modo revelará el error exacto en lugar de la página blanca o el error genérico.

  1. Accede a tu panel de control (cPanel, Plesk o DirectAdmin) y abre el Administrador de Archivos o usa un cliente FTP (como FileZilla).
  2. Navega hasta la raíz de tu instalación de PrestaShop (donde están las carpetas admin, config, img, etc.).
  3. Busca el archivo llamado config/defines.inc.php.
  4. Ábrelo con el editor de texto del panel (clic derecho -> Editar).
  5. Busca la línea que dice define('_PS_MODE_DEV_', false);.
  6. Cambia false por true. Debe quedar así: define('_PS_MODE_DEV_', true);.
  7. Guarda los cambios y sube el archivo si usaste FTP.

Ahora, recarga tu tienda. En lugar del error genérico, verás un mensaje de error detallado en inglés, con la ruta del archivo que falla. Anota ese mensaje, te será muy útil. Si no ves nada y sigue el error 500, el problema es más profundo (probablemente permisos o el .htaccess).

[WARNING] No olvides volver a poner false en ese archivo cuando termines de arreglar el problema. Dejar el modo debug activo en producción es un riesgo de seguridad.


Fase 2: Soluciones Rápidas y Comunes

Estas son las soluciones que funcionan en el 80% de los casos. Las veremos para los tres paneles.

### Solución 1: Regenerar el archivo .htaccess

Este es el culpable número uno. Si se corrompe, tienes el error 500 PrestaShop asegurado.

En cPanel:

  1. Ve a Administrador de Archivos y navega a la raíz de PrestaShop.
  2. Activa la opción "Mostrar archivos ocultos" (normalmente en Configuración o Ajustes).
  3. Busca el archivo .htaccess. Si existe, renómbralo a .htaccess_old (clic derecho -> Renombrar).
  4. Ve a tu back-office de PrestaShop (ej: tudominio.com/admin123). Si no puedes acceder, prueba con la URL directa.
  5. Ve a Parámetros Avanzados > Rendimiento.
  6. Haz clic en el botón "Regenerar el archivo .htaccess" (o "Guardar" en esa página).
  7. Vuelve a cargar tu tienda. Si funciona, ¡genial! Si no, borra el .htaccess_old y pasa a la siguiente solución.

En Plesk:

  1. Ve a Administrador de Archivos en el dominio correspondiente.
  2. Navega a la raíz de PrestaShop (normalmente httpdocs).
  3. Activa "Mostrar archivos ocultos" en la esquina superior.
  4. Renombra .htaccess a .htaccess_old como en el caso anterior.
  5. Accede a tu back-office y regenera el archivo desde Parámetros Avanzados > Rendimiento.

En DirectAdmin:

  1. Ve a Administrador de Archivos (File Manager).
  2. Accede a la carpeta de tu dominio (ej: domains/tudominio.com/public_html).
  3. Igual que antes, muestra archivos ocultos y renombra .htaccess a .htaccess_old.
  4. Regenera el archivo desde el back-office.

[TIP] Si no tienes acceso al back-office, puedes crear un archivo .htaccess vacío en la raíz y subirlo. A veces, PrestaShop lo regenera solo al recargar la página.

### Solución 2: Corregir los permisos de archivos y carpetas

Los permisos incorrectos (normalmente después de una restauración o transferencia) causan el error.

La regla de oro en PrestaShop:

  • Carpetas (Directorios): Permisos 755.
  • Archivos: Permisos 644.
  • Carpeta config y cache: A veces necesitan 755 o incluso 777 temporalmente para que PrestaShop escriba en ellas.

Cómo hacerlo en cPanel:

  1. En el Administrador de Archivos, selecciona todos los archivos y carpetas de la raíz.
  2. Haz clic en Permisos (o Permisos de archivos).
  3. Verás una ventana. Cambia los permisos a 755 para carpetas y 644 para archivos. Es tedioso, pero hay un truco:
    • Para carpetas: Marca las casillas que sumen 755 (Propietario: Lectura, Escritura, Ejecución; Grupo: Lectura, Ejecución; Público: Lectura, Ejecución).
    • Para archivos: Marca 644 (Propietario: Lectura, Escritura; Grupo: Lectura; Público: Lectura).
  4. Aplica los cambios.

En Plesk y DirectAdmin:

El proceso es idéntico, solo cambia la interfaz. Busca la opción "Permisos" o "CHMOD" al seleccionar los archivos. Si tienes acceso a SSH (terminal), puedes usar el comando mágico:

find /ruta/a/tu/prestashop -type f -exec chmod 644 {} \;
find /ruta/a/tu/prestashop -type d -exec chmod 755 {} \;

[WARNING] No dejes nunca los permisos en 777 de forma permanente. Es un grave agujero de seguridad. Úsalo solo para la carpeta cache y var/cache temporalmente y luego vuelve a 755.


Fase 3: Soluciones Avanzadas (PHP y Configuración)

Si lo anterior no funcionó, vamos a por el motor.

### Solución 3: Aumentar el límite de memoria PHP (memory_limit)

Un límite bajo es otra causa común del error 500 PrestaShop, especialmente si tienes muchos módulos o productos.

Opción A: Desde el panel de control (cPanel, Plesk, DirectAdmin)

  • cPanel: Busca la sección "Software" o "MultiPHP INI Editor". Selecciona tu dominio y cambia memory_limit a 512M o 768M. Guarda.
  • Plesk: Ve a "PHP Settings" dentro de tu dominio. Busca memory_limit y cámbialo a 512M.
  • DirectAdmin: Busca "PHP Settings" o "Custom Build". Dentro de las opciones de PHP, localiza memory_limit y ajústalo.

Opción B: Editando el archivo php.ini

Si no encuentras la opción en el panel, crea o edita un archivo llamado php.ini en la raíz de tu PrestaShop y añade:

memory_limit = 512M
max_execution_time = 300
upload_max_filesize = 64M

Opción C: Desde el archivo .htaccess

Añade estas líneas al final de tu .htaccess (el que ya regeneraste):

<IfModule mod_php7.c>
php_value memory_limit 512M
php_value max_execution_time 300
</IfModule>

### Solución 4: Verificar la versión de PHP

PrestaShop 1.6 no funciona bien con PHP 7.4+ o PHP 8.0. PrestaShop 1.7 necesita PHP 7.1 o superior. Si tu hosting actualizó PHP automáticamente, tu tienda puede morir.

  • cPanel: Ve a "MultiPHP Manager" y selecciona una versión compatible (ej: PHP 7.4 para PrestaShop 1.7, PHP 7.1 para PrestaShop 1.6).
  • Plesk: Ve a "PHP Settings" y cambia la versión.
  • DirectAdmin: Ve a "PHP Version" o "Custom Build" y selecciona la versión.

[INFO] La versión de PHP correcta depende de tu versión de PrestaShop. Consulta la documentación oficial de PrestaShop para saber cuál es la ideal. Usar una versión muy nueva o muy vieja es un error común.


Fase 4: Solución Definitiva (Si nada funciona)

Si has llegado hasta aquí, el problema es más específico. Vamos a aislarlo.

### Solución 5: Desactivar módulos y cambiar de tema (Forzado)

Si un módulo se rompe, te dejará sin acceso al back-office. Pero podemos desactivarlo desde la base de datos.

  1. Accede a phpMyAdmin (desde cPanel, Plesk o DirectAdmin).
  2. Selecciona la base de datos de tu PrestaShop.
  3. Abre la tabla ps_module (el prefijo puede variar, ej: ps_).
  4. Busca los módulos que instalaste recientemente (los que sospechas que causan el problema).
  5. Localiza la columna active y cámbiala a 0 para desactivarlos.

Para cambiar el tema:

  1. En la base de datos, busca la tabla ps_theme.
  2. Anota el nombre del tema actual.
  3. Cámbialo a un tema por defecto (ej: classic para PrestaShop 1.7, default para 1.6).

### Solución 6: Revisar los logs del servidor

El modo debug no te mostró nada, pero el servidor guarda un registro de errores.

  • cPanel: Busca la sección "Errores" o "Errores de Apache". También puedes ver el archivo error_log en la raíz de tu sitio.
  • Plesk: Ve a "Logs" en el dominio.
  • DirectAdmin: Busca "Error Logs" en el menú.

Busca la línea que coincida con la fecha y hora del error. Verás algo como PHP Fatal error: .... Ese mensaje es oro puro. Te dirá exactamente qué archivo y línea falla.

### Solución 7: Reinstalar PrestaShop (Último recurso)

Si todo lo demás falla, la solución nuclear es reinstalar. No pierdas tus datos (base de datos y archivos de productos), solo reemplaza los archivos del núcleo.

  1. Descarga la misma versión de PrestaShop que tienes (ej: 1.7.8.10) desde tu cuenta en PrestaShop.
  2. Descomprime el archivo en tu ordenador.
  3. Sube solo el contenido de la carpeta prestashop a tu servidor, sobrescribiendo los archivos existentes. NO borres las carpetas img, themes, modules (o haz una copia de seguridad antes).
  4. No ejecutes el instalador. Simplemente sube los archivos.
  5. Borra los archivos var/cache/prod y var/cache/dev para forzar la regeneración.

Esto reemplazará los archivos corruptos del núcleo sin tocar tu configuración ni tus productos.


Preguntas Frecuentes (FAQ)

P: ¿Por qué veo el error 500 solo en el back-office y no en la tienda?

R: A menudo es un problema de un módulo específico del back-office o un problema con el tema del administrador. Intenta desactivar los módulos recientes desde phpMyAdmin, como se explicó en la Solución 5.

P: El error 500 PrestaShop ocurre después de mover mi tienda a un nuevo hosting.

R: Es casi seguro que sea un problema de permisos o de la ruta en config/settings.inc.php (o parameters.php). Verifica los permisos (Solución 2) y asegúrate de que las rutas en esos archivos apunten a la nueva ubicación.

P: ¿Puedo evitar el error 500 en el futuro?

R: Sí, siguiendo estas buenas prácticas:

  • Mantén PrestaShop, módulos y temas actualizados.
  • No instales módulos de fuentes no confiables.
  • Haz copias de seguridad periódicas.
  • Aumenta el límite de memoria PHP de forma proactiva.

P: Mi hosting usa "Syspanel" (HestiaCP). ¿Las soluciones son las mismas?

R: Sí, el proceso es muy similar, pero la interfaz cambia. En Syspanel, accede al panel con el puerto 2106 (ej: https://tudominio.com:2106). Dentro, busca "Administrador de Archivos" y "Base de Datos". Las soluciones sobre permisos y .htaccess son idénticas. Para cambiar la versión de PHP, busca la sección "PHP" o "Configuración de PHP" dentro del dominio. La lógica es la misma, solo cambia el nombre de los botones.


Resumen Final

Hemos recorrido un camino lógico para solucionar error 500 PrestaShop. Desde lo más simple (regenerar .htaccess) hasta lo más complejo (reinstalar el núcleo). Recuerda siempre:

  1. Activa el modo debug para obtener pistas.
  2. Regenera el .htaccess.
  3. Corrige los permisos.
  4. Aumenta la memoria PHP.
  5. Revisa los logs del servidor para el mensaje exacto.

No te desesperes. El error 500 PrestaShop es frustrante, pero casi siempre tiene solución. Si has seguido todos los pasos y aún así no funciona, es hora de contactar a tu proveedor de hosting. Ellos tienen acceso a los logs del servidor a un nivel más profundo y podrán identificar el problema con precisión.

[TIP] Antes de hacer cualquier cambio, SIEMPRE haz una copia de seguridad de tu base de datos y de los archivos. Esto te permitirá revertir cualquier error que cometas durante el proceso.

¿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