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

Solucionar error 500 en PrestaShop (Plesk)

Actualizado el 12 de enero de 2026

¡Hola! Soy tu técnico de soporte amigable. Si estás viendo un temido error 500 en PrestaShop alojado en un servidor con Plesk, no te preocupes. Este error suele ser un "cajón de sastre" que indica un problema interno del servidor, pero con una guía paso a paso y un poco de paciencia, podremos solucionarlo. En este artículo, te explicaré las causas más comunes y cómo resolverlas, especialmente pensando en usuarios sin experiencia técnica. Vamos a ello.

¿Qué es el error 500 y por qué aparece en PrestaShop?

El error 500, también conocido como "Error interno del servidor", es una respuesta genérica que da el servidor web (Apache o Nginx) cuando algo falla en la configuración, en los archivos de PrestaShop o en los permisos, pero no puede dar un mensaje más específico. En Plesk, esto puede deberse a varias razones, desde un archivo .htaccess corrupto hasta un plugin incompatible o un problema de memoria PHP. Lo bueno es que, siguiendo un orden lógico, podemos identificar y arreglar el problema.

[INFO] El error 500 no es un error de tu conexión a internet ni de tu PC. Es un problema del servidor donde está alojada tu tienda. No te asustes, tiene solución.

Paso 1: Lo primero, activar la visualización de errores PHP

Por defecto, PrestaShop y Plesk ocultan los detalles del error por seguridad. Para saber exactamente qué está fallando, necesitamos que PHP nos muestre el error. Esto se hace editando un archivo de configuración.

Accede al archivo config/defines.inc.php

  1. Conéctate a tu panel de Plesk (normalmente en https://tudominio.com:8443).
  2. Ve a Archivos o Administrador de archivos (File Manager) y navega hasta la carpeta raíz de tu tienda PrestaShop (suele ser httpdocs o tu-dominio).
  3. Busca el archivo config/defines.inc.php. Haz clic derecho y selecciona Editar.
  4. Busca la línea que dice:
    define('_PS_MODE_DEV_', false);
    
  5. Cámbiala por:
    define('_PS_MODE_DEV_', true);
    
  6. Guarda el archivo.

Ahora, cuando recargues tu tienda, en lugar del error 500 genérico, verás un mensaje de error específico de PHP (por ejemplo, "Parse error", "Fatal error", etc.). Anota ese mensaje, te guiará hacia la solución.

[WARNING] Una vez solucionado el error, vuelve a poner false en esa línea. Dejar true en un sitio en producción expone información sensible a los visitantes.

Paso 2: Solucionar según el mensaje de error

Dependiendo del mensaje que veas, el problema será uno u otro. Aquí tienes las soluciones más comunes:

Error: "Parse error: syntax error, unexpected..."

Este error suele deberse a un archivo PHP corrupto o mal editado, a menudo por una actualización fallida de PrestaShop o de un módulo/plugin.

Solución:

  1. Identifica el archivo y la línea que indica el error (ej: /modules/mimodulo/mimodulo.php en la línea 25).
  2. Reemplaza ese archivo por una copia original. Puedes descargar el módulo desde el marketplace de PrestaShop o desde la copia de seguridad de tu instalación.
  3. Si el error está en un archivo del núcleo de PrestaShop (como classes/ o controllers/), lo mejor es reinstalar PrestaShop manualmente (sin borrar la base de datos). Descarga la misma versión que tienes, sube los archivos (excepto config/settings.inc.php y la carpeta img/) y sobreescribe.

Error: "Fatal error: Allowed memory size of X bytes exhausted"

Esto significa que tu script PHP se ha quedado sin memoria. Es muy común en tiendas con muchos productos o módulos pesados.

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

  1. En Plesk, ve a Configuración de PHP (PHP Settings) dentro del dominio de tu tienda.
  2. Busca la opción memory_limit. El valor recomendado para PrestaShop es al menos 256M (256 megabytes).
  3. Cámbialo a 256M o incluso 512M si tienes muchos recursos.
  4. También puedes aumentar max_execution_time a 120 y max_input_vars a 5000.
  5. Guarda los cambios y recarga la tienda.

Error: "Fatal error: Uncaught Error: Class 'X' not found"

Esto indica que falta un archivo de clase necesario, a menudo por una instalación incompleta o por un módulo que no se ha desinstalado correctamente.

Solución:

  1. Si el error menciona un módulo (ej: Class 'MiModulo' not found), desactiva ese módulo desde la base de datos (si no puedes acceder al panel de admin). Usa phpMyAdmin en Plesk, busca la tabla ps_module y cambia el active de ese módulo a 0.
  2. Si es una clase del núcleo, reinstala los archivos de PrestaShop como en el punto anterior.
  3. Otra opción: regenera el archivo cache/class_index.php. Bórralo (o renómbralo) y PrestaShop lo regenerará automáticamente.

Paso 3: El archivo .htaccess, el gran culpable

El archivo .htaccess (o web.config en IIS) es un archivo de configuración del servidor web que a menudo se corrompe, especialmente después de cambios en la URL amigable o en la configuración de SSL.

Solución: Regenerar el .htaccess de PrestaShop

  1. En el administrador de archivos de Plesk, busca el archivo .htaccess en la raíz de tu tienda.
  2. Renómbralo a .htaccess_old (esto lo desactiva temporalmente).
  3. Ahora, intenta acceder a tu tienda. Si el error 500 desaparece (aunque la tienda se vea mal), el problema era ese archivo.
  4. Para regenerarlo, entra al panel de administración de PrestaShop (si puedes) y ve a Configuración de la tienda > Tráfico y SEO > URL amigables. Desactívalas y actívalas de nuevo. Esto regenera el .htaccess.
  5. Si no puedes acceder al admin, puedes crear un .htaccess nuevo desde cero o copiar uno de una instalación limpia de PrestaShop (de la misma versión).

[TIP] Si tu servidor usa Nginx en lugar de Apache (lo puedes ver en Plesk en "Configuración del servidor web"), el archivo .htaccess no se usa. En ese caso, el error 500 suele deberse a reglas de reescritura mal configuradas en el archivo de configuración de Nginx. Deberás revisar la sección "Directivas adicionales de Nginx" en Plesk.

Paso 4: Permisos de archivos y carpetas

Los permisos incorrectos son otra causa común. PrestaShop necesita ciertos permisos para leer y escribir archivos (por ejemplo, para la caché, los módulos o las imágenes).

Solución: Ajustar permisos desde Plesk

  1. En el administrador de archivos, selecciona todos los archivos y carpetas de la raíz de tu tienda.
  2. Haz clic en Permisos (o "Change Permissions").
  3. Establece:
    • Archivos: 644 (lectura y escritura para el propietario, solo lectura para el grupo y otros).
    • Carpetas: 755 (lectura, escritura y ejecución para el propietario; lectura y ejecución para grupo y otros).
  4. Asegúrate de que las siguientes carpetas tengan permisos 755 (o incluso 777 temporalmente si hay problemas de escritura, pero luego vuelve a 755):
    • /cache
    • /log
    • /img
    • /modules
    • /themes
    • /translations
    • /upload
    • /download

[WARNING] No dejes carpetas con permisos 777 en un sitio en producción, ya que supone un riesgo de seguridad. Úsalo solo como prueba y luego cámbialo.

Paso 5: Problemas con la base de datos

A veces el error 500 no es de PHP, sino de la base de datos. Una tabla corrupta o una consulta mal formada pueden provocarlo.

Solución: Reparar la base de datos

  1. En Plesk, ve a Bases de datos y selecciona la de tu PrestaShop.
  2. Abre phpMyAdmin.
  3. En la pestaña Base de datos, selecciona todas las tablas (marcando la casilla de arriba).
  4. En el menú desplegable "Con seleccionados", elige Reparar tabla. Esto intentará arreglar tablas corruptas.
  5. También puedes ejecutar un optimizar después.
  6. Si el error persiste, revisa los logs de MySQL (en Plesk, en "Logs" puedes encontrar el error de base de datos).

Paso 6: Revisar los logs del servidor (Apache/Nginx)

Si nada de lo anterior funciona, es hora de mirar los logs del servidor web. Son como el "diario de a bordo" del servidor y suelen contener la pista definitiva.

Cómo acceder a los logs en Plesk

  1. Ve a Sitios web y dominios > selecciona tu dominio.
  2. Busca la sección Logs (o "Registros").
  3. Revisa el archivo error_log (Apache) o error.log (Nginx). Busca la fecha y hora del error 500.
  4. Allí verás líneas como:
    [error] [client 192.168.1.1] ModSecurity: Access denied with code 500...
    [error] [client 192.168.1.1] PHP Fatal error:  Uncaught Error: Class 'Module' not found in /var/www/vhosts/tudominio.com/httpdocs/override/...
    
  5. Anota la línea exacta del error. Te dirá el archivo y la línea problemática, lo que te permitirá actuar con precisión.

Paso 7: Desactivar módulos y temas conflictivos

Si el error 500 empezó después de instalar un módulo o cambiar de tema, es muy probable que el culpable sea ese.

Solución desde la base de datos (si no puedes acceder al admin)

  1. Entra a phpMyAdmin.
  2. Ve a la tabla ps_module (o nombreprefijo_module).
  3. Busca el módulo problemático (por su nombre) y edita la columna active poniendo 0.
  4. También puedes renombrar la carpeta del módulo en /modules (ej: /modules/mimodulo a /modules/mimodulo_bak) para desactivarlo por completo.

Solución desde el panel de administración (si accedes)

  1. Ve a Módulos > Gestor de módulos.
  2. Desactiva los módulos uno por uno, recargando la tienda cada vez, hasta que el error desaparezca.
  3. Haz lo mismo con el tema activo (ve a Diseño > Tema y logotipo y cambia a un tema por defecto como "classic").

Paso 8: Aumentar los límites de PHP (solución definitiva)

A veces, el error 500 es intermitente y aparece solo cuando hay mucho tráfico o procesos pesados. Aumentar los límites de PHP desde Plesk suele ser la solución más efectiva.

Configuración recomendada para PrestaShop en Plesk

ParámetroValor recomendado
memory_limit256M o 512M
max_execution_time120
max_input_time120
max_input_vars5000
upload_max_filesize64M
post_max_size64M

Puedes cambiar estos valores desde Configuración de PHP en Plesk, o si no tienes acceso, desde un archivo .user.ini en la raíz (si tu servidor lo permite).

[INFO] Si tu servidor usa Syspanel (anteriormente HestiaCP), los pasos son similares, pero el acceso a la configuración PHP se hace desde el panel de Syspanel en el puerto 2106. Busca "Configuración de PHP" para tu dominio.

Preguntas Frecuentes (FAQ)

¿Por qué aparece el error 500 después de una actualización de PrestaShop?
Porque los archivos actualizados pueden no ser compatibles con módulos o temas antiguos, o porque el archivo .htaccess no se ha regenerado correctamente. Sigue los pasos 2, 3 y 7.

¿El error 500 puede deberse a un problema de SSL o certificado?
Sí, si configuras HTTPS forzado y el archivo .htaccess no está bien escrito, puede provocar un bucle infinito y un error 500. Revisa el paso 3.

¿Qué hago si no puedo acceder ni al panel de administración ni al administrador de archivos?
Contacta con tu proveedor de hosting. Ellos pueden acceder a los logs del servidor y ayudarte a desactivar módulos desde la base de datos o restaurar una copia de seguridad.

¿Es seguro activar el modo dev (_PS_MODE_DEV_)?
Solo para diagnosticar. Nunca lo dejes activo en producción, ya que muestra información sensible (rutas, versiones, etc.) a los visitantes.

¿Y si después de todo sigue el error 500?
Puede ser un problema de ModSecurity (un firewall de aplicaciones web). En Plesk, ve a Seguridad > ModSecurity y prueba a desactivarlo temporalmente. Si el error desaparece, tendrás que ajustar las reglas de ModSecurity o añadir una excepción para tu tienda.

Resumen final

El error 500 en PrestaShop alojado en Plesk es un problema común pero solucionable. La clave está en:

  1. Activar el modo dev para ver el error real.
  2. Revisar los logs del servidor.
  3. Aumentar la memoria PHP (solución en el 80% de los casos).
  4. Regenerar el .htaccess.
  5. Desactivar módulos sospechosos.
  6. Ajustar permisos de archivos.

Con paciencia y estos pasos, tu tienda volverá a funcionar. Si te atascas, recuerda que tu proveedor de hosting (especialmente si usas Syspanel en el puerto 2106) también puede echarte una mano. ¡Mucho ánimo!

¿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