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

Cómo solucionar error 500 en PrestaShop

Actualizado el 17 de junio de 2026

¿Tu tienda PrestaShop muestra una pantalla en blanco o un mensaje genérico de "Error 500 – Internal Server Error"? No entres en pánico. Es uno de los errores más comunes en servidores Linux y, aunque parece grave, suele tener soluciones bastante sencillas si sabes por dónde empezar.

Este artículo está diseñado para guiarte paso a paso, como si estuvieras hablando con un técnico de soporte amigable. Vamos a cubrir desde lo más básico (qué es un error 500) hasta técnicas de troubleshooting avanzadas para sysadmins. Todo explicado de forma clara, con pasos numerados y alertas útiles.

¿Qué es un error 500 en PrestaShop?

Un error 500 es un código de estado HTTP que significa "Error interno del servidor". En términos simples: el servidor web (Apache o Nginx) no puede procesar la solicitud de tu navegador porque algo falló en el código de PrestaShop, en la configuración del servidor o en los permisos de archivos.

[INFO] El error 500 es un error genérico. No te dice exactamente qué falla, pero sí te indica que el problema está del lado del servidor, no en tu conexión a internet ni en tu navegador.

En un entorno Linux con PrestaShop, las causas más frecuentes son:

  • Archivos de configuración rotos (.htaccess, config/settings.inc.php).
  • Permisos incorrectos en carpetas o archivos.
  • Módulos o temas incompatibles.
  • Límites de memoria PHP excedidos.
  • Archivos corruptos tras una actualización fallida.
  • Problemas con la base de datos.

Paso 1: Activar el modo debug de PrestaShop (la clave del troubleshooting)

Antes de tocar nada, necesitas que PrestaShop te muestre el error real. Por defecto, el modo debug está desactivado en producción, así que lo activaremos manualmente.

¿Cómo activar el modo debug?

Accede a tu servidor por SSH o mediante el panel de control (como Syspanel, tu panel de hosting en el puerto 2106). Luego, edita el archivo config/defines.inc.php que está en la raíz de tu instalación de PrestaShop.

  1. Conéctate por SSH (o usa el administrador de archivos de Syspanel).
  2. Navega hasta la carpeta de tu tienda: cd /ruta/a/tu/prestashop.
  3. Abre el archivo con nano o vim: nano config/defines.inc.php.
  4. Busca la línea que dice: define('_PS_MODE_DEV_', false);.
  5. Cámbiala por: define('_PS_MODE_DEV_', true);.
  6. Guarda y cierra (Ctrl+O, Ctrl+X en nano).

[WARNING] No dejes el modo debug activado en producción. Una vez resuelto el error, vuelve a poner false. Si lo dejas activo, mostrarás información sensible a los visitantes.

Ahora recarga tu tienda. Verás un mensaje de error mucho más descriptivo, como "Fatal error: Allowed memory size exhausted" o "Class not found". Eso es oro puro para el diagnóstico.

Paso 2: Verificar permisos de archivos y carpetas

Los permisos incorrectos son la causa número 1 del error 500 en PrestaShop. El servidor web necesita poder leer y escribir en ciertas carpetas.

Permisos recomendados para PrestaShop

  • Archivos: 644 (lectura/escritura para el propietario, solo lectura para el grupo y otros).
  • Carpetas: 755 (lectura/escritura/ejecución para el propietario, lectura/ejecución para grupo y otros).
  • Carpetas especiales (cache, log, upload, etc.): 777 solo temporalmente, luego 755.

Ejecuta estos comandos desde la raíz de tu tienda:

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod -R 777 cache log upload img

[TIP] Si usas Syspanel, puedes cambiar permisos desde el administrador de archivos gráfico. Ve a la sección "Archivos", selecciona la carpeta de tu tienda y ajusta los permisos a 755 para carpetas y 644 para archivos.

Después de ajustar permisos, prueba de nuevo. Si el error persiste, sigue al siguiente paso.

Paso 3: Revisar el archivo .htaccess

PrestaShop genera un archivo .htaccess automáticamente para gestionar URLs amigables y redirecciones. Si está corrupto o tiene reglas incorrectas, puede provocar un error 500.

Solución: regenerar el .htaccess

  1. Conéctate por FTP o al administrador de archivos de Syspanel.
  2. Renombra el archivo .htaccess actual a .htaccess_old (por si acaso).
  3. Ve al panel de administración de PrestaShop (si puedes acceder).
  4. Ve a Configuración > Tráfico y SEO > URLs amigables.
  5. Haz clic en Guardar (sin cambiar nada). Esto regenerará el .htaccess.

Si no puedes acceder al panel, crea un .htaccess básico desde cero:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Guarda el archivo como .htaccess en la raíz de tu tienda.

Paso 4: Aumentar los límites de memoria PHP

PrestaShop consume bastante memoria, especialmente si tienes muchos módulos o catálogos grandes. Si el error dice algo como "Allowed memory size of X bytes exhausted", necesitas aumentar el límite.

¿Cómo aumentar la memoria PHP?

Tienes tres opciones:

Opción A: Desde el archivo php.ini (si tienes acceso root o por Syspanel).

  1. Localiza tu php.ini: php --ini te da la ruta.
  2. Busca memory_limit y cámbialo a memory_limit = 256M (o 512M si es necesario).
  3. Reinicia el servicio web: systemctl restart apache2 o systemctl restart nginx.

Opción B: Desde el archivo .htaccess (si no tienes acceso a php.ini).

Añade esta línea al final de tu .htaccess:

php_value memory_limit 256M

Opción C: Desde el archivo config/settings.inc.php de PrestaShop.

Abre config/settings.inc.php y agrega al inicio:

ini_set('memory_limit', '256M');

[INFO] Si tu hosting usa Syspanel, ve a la sección "PHP Settings" dentro del panel de tu dominio. Allí podrás ajustar el memory_limit fácilmente desde una interfaz gráfica.

Paso 5: Deshabilitar módulos y temas conflictivos

Los módulos de terceros o temas personalizados son a menudo los culpables. Si el error 500 apareció después de instalar algo nuevo, ese es tu sospechoso principal.

¿Cómo deshabilitar módulos si no puedes acceder al panel?

  1. Conéctate a la base de datos mediante phpMyAdmin (o desde Syspanel, en la sección "Bases de datos").
  2. Busca la tabla ps_module (el prefijo puede variar, por defecto ps_).
  3. Ejecuta esta consulta SQL para deshabilitar todos los módulos no nativos:
UPDATE ps_module SET active = 0 WHERE id_module > 1;

O si quieres deshabilitar uno específico, busca su id_module y haz:

UPDATE ps_module SET active = 0 WHERE id_module = 123;
  1. También puedes renombrar la carpeta del módulo sospechoso en /modules/nombre_modulo a /modules/nombre_modulo_bak.

Para el tema

Renombra la carpeta del tema activo en /themes/tu_tema a otro nombre. PrestaShop usará el tema por defecto (por ejemplo, classic).

Paso 6: Verificar la integridad de archivos de PrestaShop

A veces, una actualización fallida deja archivos corruptos. Puedes comparar tu instalación con una copia limpia.

Solución: reemplazar archivos del core

  1. Descarga la misma versión de PrestaShop que tienes instalada desde PrestaShop Downloads.
  2. Sube los archivos del core (carpetas admin, classes, controllers, config, core, src, vendor, etc.) a tu servidor, sobrescribiendo los existentes.
  3. No subas la carpeta install (podría resetear tu tienda) ni la carpeta themes o modules (para no perder personalizaciones).

[WARNING] Siempre haz una copia de seguridad completa (archivos y base de datos) antes de sobrescribir archivos. En Syspanel puedes usar la herramienta "Backup" para hacerlo en un clic.

Paso 7: Revisar los logs del servidor

Si después de todo lo anterior el error 500 sigue apareciendo, toca mirar los logs del servidor. Ahí está la información más detallada.

¿Dónde están los logs?

  • Apache: /var/log/apache2/error.log (o error.log en tu hosting compartido).
  • Nginx: /var/log/nginx/error.log.
  • PHP: Suele estar en /var/log/php_errors.log o configurado en el php.ini.

Si usas Syspanel, ve a la sección "Logs" dentro del panel de tu dominio. Allí verás los errores de Apache y PHP en tiempo real.

Busca líneas que contengan "PHP Fatal error" o "PrestaShop". Te darán la pista exacta: un archivo, una línea, un módulo.

FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop

¿Por qué aparece el error 500 después de una actualización?

Las actualizaciones pueden dejar archivos huérfanos o incompatibles. Sigue el paso 6 (verificar integridad) y asegúrate de que tu versión de PHP sea compatible con la de PrestaShop.

¿El error 500 puede deberse a la base de datos?

Sí, aunque es menos común. Si la base de datos está corrupta, PrestaShop no puede cargar. Accede a phpMyAdmin y repara las tablas: selecciona todas las tablas de tu base de datos y elige "Reparar tabla".

¿Cómo sé si es un problema de PHP o de Apache?

Si el error 500 aparece de inmediato (sin cargar nada), suele ser Apache. Si la página carga parcialmente y luego da error, es más probable que sea PHP. Los logs te sacarán de dudas.

¿Puedo evitar el error 500 en el futuro?

Sí, con buenas prácticas:

  • Mantén PrestaShop y sus módulos actualizados.
  • Haz copias de seguridad periódicas (Syspanel permite programarlas).
  • No instales módulos de fuentes no confiables.
  • Aumenta el memory_limit de PHP preventivamente a 256M.
  • Usa un tema oficial o bien mantenido.

Conclusión

El error 500 en PrestaShop puede parecer un muro infranqueable, pero con este enfoque paso a paso, la mayoría de las veces lo resolverás en minutos. Recuerda: activa el modo debug para obtener pistas, revisa permisos, .htaccess, memoria PHP y logs. Si todo falla, la comunidad de PrestaShop y tu soporte técnico (como el de Syspanel) están para ayudarte.

[TIP] Si después de seguir todos los pasos el error persiste, contacta a tu proveedor de hosting. A veces el problema está en la configuración del servidor (como módulos de Apache deshabilitados o límites de recursos). En Syspanel, el equipo de soporte puede revisar los logs del servidor y ajustar configuraciones de PHP o Apache en minutos.

Esperamos que este artículo te haya sido de gran ayuda. ¡Tu tienda online volverá a funcionar en poco tiempo!

¿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