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

Cómo solucionar el error 500 en PrestaShop en un servidor Linux

Actualizado el 12 de mayo de 2026

¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver uno de los problemas más temidos al gestionar una tienda online: el temido error 500 en PrestaShop. Si estás viendo una pantalla en blanco o un mensaje de “Error interno del servidor”, no te preocupes. Este error es muy común en servidores Linux, y en la mayoría de los casos tiene solución siguiendo unos pasos sencillos. Vamos a desglosarlo paso a paso, como si estuviéramos compartiendo un café virtual.


¿Qué es el error 500 en PrestaShop?

El error 500 (Internal Server Error) es una respuesta genérica del servidor que indica que algo salió mal, pero no especifica qué. Es como si tu coche se parara en medio de la carretera sin luces de advertencia. En el contexto de PrestaShop en un servidor Linux, las causas más frecuentes suelen ser:

  • Archivos de configuración corruptos (como .htaccess o settings.inc.php).
  • Permisos incorrectos en archivos o carpetas.
  • Falta de memoria PHP o límites de ejecución muy bajos.
  • Módulos o temas incompatibles.
  • Errores en la base de datos.

No te asustes: con un enfoque metódico, podrás solucionar error 500 Linux incluso si no eres un experto en sistemas.


Paso 1: Activar el modo debug de PrestaShop (la clave del diagnóstico)

Antes de tocar nada, necesitamos que PrestaShop nos muestre el error real. Por defecto, el error 500 oculta los detalles. Vamos a activar el modo debug.

### Acceder al archivo de configuración

Conéctate a tu servidor Linux por SSH (o usa el administrador de archivos de tu panel de control, como Syspanel en el puerto 2106). Busca la carpeta raíz de tu PrestaShop (normalmente /var/www/html o /home/usuario/public_html).

Localiza el archivo config/defines.inc.php. Ábrelo con un editor de texto (por ejemplo, nano o vim).

### Modificar el modo debug

Busca esta línea:

define('_PS_MODE_DEV_', false);

Cámbiala a:

define('_PS_MODE_DEV_', true);

Guarda el archivo y recarga tu tienda. Ahora, en lugar de un error 500 genérico, verás un mensaje detallado (como "Fatal error: Allowed memory size exhausted" o "Class not found"). Anota ese mensaje, porque nos guiará hacia la solución.

[TIP] Si no ves nada después del cambio, revisa que el archivo config/defines.inc.php tenga permisos 644 y que el propietario sea el usuario del servidor (por ejemplo, www-data o tu usuario de hosting).


Paso 2: Solucionar errores comunes según el mensaje

Dependiendo del mensaje de error, actuaremos de una forma u otra. Aquí tienes los casos más habituales.

### Error de memoria PHP (Allowed memory size exhausted)

Si ves algo como "Fatal error: Allowed memory size of 134217728 bytes exhausted", necesitas aumentar el límite de memoria.

  1. Localiza el archivo php.ini de tu servidor. Puedes encontrarlo con el comando:
    php --ini
    
  2. Busca la línea memory_limit y cámbiala a un valor mayor, por ejemplo:
    memory_limit = 256M
    
  3. Si no tienes acceso al php.ini global, puedes crear un archivo php.ini en la raíz de PrestaShop con esa línea. O, mejor aún, añadir esto al archivo .htaccess:
    php_value memory_limit 256M
    

Reinicia el servidor web (Apache o Nginx) y prueba de nuevo.

[WARNING] Si usas Syspanel (anteriormente conocido como HestiaCP), recuerda que el puerto de acceso es el 2106. Allí puedes editar los archivos de configuración de PHP desde la sección "PHP Settings" de tu dominio.

### Error de archivo .htaccess corrupto

El archivo .htaccess de PrestaShop a veces se daña tras actualizaciones o cambios de URL. Para regenerarlo:

  1. Desde el panel de administración de PrestaShop (si puedes acceder), ve a Configuración → Parámetros de la tienda → SEO y URL y haz clic en "Guardar" sin cambiar nada. Esto regenera el .htaccess.
  2. Si no puedes acceder al panel, renombra el archivo .htaccess actual a .htaccess_old y luego visita tu tienda. PrestaShop creará uno nuevo automáticamente.

Si el error persiste, revisa que el archivo tenga permisos 644 y que el servidor pueda leerlo.

### Error de permisos en archivos y carpetas

Los permisos incorrectos son una causa clásica del error 500 PrestaShop. En un servidor Linux, los archivos deben tener permisos 644 y las carpetas 755. El propietario debe ser el usuario del servidor (por ejemplo, www-data o tu usuario de FTP).

Puedes corregirlos con estos comandos desde SSH (ejecuta desde la raíz de PrestaShop):

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 777 var/cache var/log config/settings.inc.php

[INFO] El último comando da permisos de escritura temporal a carpetas de caché y al archivo de configuración. Después de solucionar el error, vuelve a poner config/settings.inc.php en 644 por seguridad.


Paso 3: Revisar módulos y temas problemáticos

A veces, un módulo o tema mal instalado rompe toda la tienda. Para aislar el problema:

  1. Desactiva todos los módulos no esenciales desde el panel de administración. Si no puedes acceder, renombra la carpeta modules a modules_old y crea una nueva carpeta modules vacía. Luego, copia solo los módulos básicos (como "ps_mainmenu" o "ps_searchbar") de la carpeta modules_old.
  2. Cambia temporalmente al tema predeterminado (por ejemplo, "classic"). Si usas un tema personalizado, renombra la carpeta del tema en /themes y PrestaShop usará el tema por defecto.

Si el error desaparece, sabes que el problema está en un módulo o tema específico. Actívalos uno por uno hasta encontrar el culpable.


Paso 4: Verificar la base de datos

Un error 500 también puede deberse a una tabla corrupta o a una consulta SQL fallida.

  1. Conéctate a tu base de datos MySQL o MariaDB desde Syspanel (puerto 2106) o mediante phpMyAdmin.
  2. Ejecuta el siguiente comando para reparar todas las tablas:
    REPAIR TABLE `tabla_a_reparar`;
    
    O usa una herramienta como mysqlcheck desde SSH:
    mysqlcheck -u usuario -p --auto-repair --all-databases
    
  3. También puedes verificar los logs de MySQL en /var/log/mysql/error.log para buscar pistas.

Paso 5: Limpiar la caché de PrestaShop

La caché puede almacenar configuraciones corruptas. Para limpiarla:

  1. Desde el panel de administración: Configuración → Parámetros avanzados → Rendimiento y haz clic en "Limpiar caché".
  2. Si no puedes acceder, borra manualmente el contenido de la carpeta var/cache (tanto dev como prod). Usa SSH o el administrador de archivos.
rm -rf var/cache/*

Luego recarga la tienda.


Paso 6: Revisar los logs del servidor

Los logs de Apache o Nginx son tus mejores amigos. Contienen el error exacto que genera el código 500.

  • En Apache, los logs suelen estar en /var/log/apache2/error.log.
  • En Nginx, en /var/log/nginx/error.log.
  • Si usas Syspanel, puedes ver los logs desde la sección "Logs" de tu dominio.

Busca la línea que coincida con la hora del error. Por ejemplo:

[error] [client 192.168.1.1] PHP Fatal error:  Uncaught Error: Class 'Module' not found in /var/www/html/classes/...

Esa pista te llevará directamente al archivo problemático.


Paso 7: Soluciones rápidas adicionales

Si todavía no has dado con la causa, prueba estas opciones:

### Aumentar el tiempo de ejecución de PHP

Añade esto al .htaccess o php.ini:

max_execution_time = 300

### Verificar la versión de PHP

PrestaShop necesita PHP 7.4 o superior (recomendado 8.0+). Si tu servidor usa una versión antigua, actualízala desde Syspanel (puerto 2106) en la sección "PHP Versions".

### Deshabilitar temporalmente el SSL

Si el error apareció tras activar HTTPS, prueba a desactivarlo temporalmente desde el panel de administración o editando config/settings.inc.php y cambiando PS_SSL_ENABLED a '0'.


Preguntas frecuentes (FAQ)

### ¿Por qué veo error 500 solo en algunas páginas?

Suele deberse a un módulo específico que se carga en esa página. Activa el modo debug (Paso 1) para ver el error exacto.

### ¿Cómo puedo evitar futuros errores 500?

  • Mantén PrestaShop, módulos y temas actualizados.
  • Haz copias de seguridad periódicas de archivos y base de datos.
  • Usa un buen hosting que ofrezca soporte para PrestaShop.

### ¿El error 500 puede ser por culpa del hosting?

Sí, especialmente si hay sobrecarga del servidor o configuraciones muy restrictivas. Contacta con tu proveedor y muéstrales los logs.

### ¿Qué hago si no tengo acceso a SSH ni al panel de administración?

Usa el administrador de archivos de Syspanel (puerto 2106) para editar config/defines.inc.php y activar el modo debug. También puedes restaurar una copia de seguridad reciente.


Conclusión

El error 500 en PrestaShop en un servidor Linux puede parecer un monstruo, pero con estos pasos metódicos podrás solucionar error 500 Linux sin necesidad de ser un experto. Recuerda: activa el modo debug, revisa permisos, logs y módulos, y no dudes en limpiar la caché. Y si usas Syspanel, aprovecha sus herramientas integradas para gestionar PHP y logs desde el puerto 2106.

Si después de todo esto el error persiste, no dudes en contactar a tu soporte técnico. ¡Estamos aquí para ayudarte a que tu tienda vuelva a volar!

[INFO] Guarda este artículo como referencia. La próxima vez que veas un error 500, sabrás exactamente por dónde empezar. ¡Mucho éxito con tu PrestaShop!

¿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