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

Solución a errores 500 en PrestaShop: Guía para SysAdmin

Actualizado el 29 de septiembre de 2025

¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, seguramente te has topado con el temido error 500 en PrestaShop. No te preocupes, es uno de los problemas más comunes en tiendas online y, aunque puede parecer grave, la mayoría de las veces tiene una solución clara y sencilla. En esta guía completa, pensada para SysAdmin (o para ti que estás aprendiendo a serlo), vamos a desglosar paso a paso cómo solucionar error 500 en tu servidor Linux.

Vamos a cubrir desde las causas más básicas hasta las técnicas de depuración más avanzadas. Al final, serás capaz de diagnosticar y reparar cualquier PrestaShop errores servidor por tu cuenta. ¡Empecemos!

¿Qué es exactamente un error 500 en PrestaShop?

El error 500, también conocido como "Error interno del servidor", es la forma que tiene tu servidor web (Apache, Nginx, LiteSpeed) de decirte: "Algo salió mal, pero no puedo darte más detalles porque no tengo permiso para mostrarlos". Es un error genérico que puede deberse a cientos de causas, desde un simple archivo .htaccess mal escrito hasta un plugin incompatible o un problema de permisos de archivos.

Para un SysAdmin PrestaShop, lo primero es entender que el error 500 no es un problema de tu tienda en sí, sino un conflicto entre el servidor y el código de PrestaShop. La clave está en encontrar la causa raíz.

Paso 1: Activar el modo debug de PrestaShop (La primera bala de plata)

Antes de tocar nada en el servidor, lo más inteligente es hacer que PrestaShop nos cuente qué está pasando. Por defecto, el error 500 es mudo, pero podemos activar el modo debug para ver el error real.

¿Cómo activar el modo debug?

  1. Accede a tu servidor por FTP, SFTP o mediante el panel de control (como Syspanel). Si usas Syspanel, recuerda que el puerto de acceso es el 2106.
  2. Localiza el archivo config/defines.inc.php en la raíz de tu instalación de PrestaShop.
  3. Descarga una copia de seguridad de este archivo (por si acaso).
  4. Edita el archivo y busca la línea que dice:
    define('_PS_MODE_DEV_', false);
    Cámbiala por:
    define('_PS_MODE_DEV_', true);

[INFO] Si no encuentras la línea exacta, búscala como _PS_MODE_DEV_. A veces puede estar comentada o en otro lugar.

  1. Guarda el archivo y súbelo de nuevo al servidor.
  2. Recarga tu tienda. Ahora, en lugar del error 500, verás un mensaje de error detallado con una pila de llamadas (stack trace). ¡Eso es oro puro! Anota el mensaje, porque te dirá exactamente qué archivo y línea están causando el problema.

[WARNING] No dejes el modo debug activado en producción. Una vez resuelto el error, vuelve a poner false. Si no, cualquier visitante podría ver información sensible de tu servidor.

Paso 2: Soluciones rápidas para el error 500 (Lo que puedes probar primero)

A veces, el error 500 es algo temporal o muy sencillo de arreglar. Aquí tienes una lista de verificación rápida:

1. Borra la caché de PrestaShop

La caché puede corromperse y causar errores extraños.

  • Desde el panel de administración: Ve a Parámetros Avanzados > Rendimiento y haz clic en "Limpiar la caché".
  • Si no puedes acceder al panel: Borra manualmente la carpeta /var/cache (o /cache en versiones antiguas) desde FTP o el administrador de archivos de Syspanel.

2. Comprueba los permisos de archivos y carpetas

PrestaShop necesita permisos específicos para escribir en ciertas carpetas (como cache, log, upload, img, etc.). Un permiso incorrecto puede provocar un error 500.

  • Solución general: Desde la terminal o tu panel, asigna permisos 755 a las carpetas y 644 a los archivos. Para las carpetas de escritura (cache, log, etc.), usa 777 de forma temporal (pero no lo dejes así).

3. Verifica el archivo .htaccess

Un archivo .htaccess mal configurado es una causa muy común.

  • Solución: Renombra el archivo .htaccess a .htaccess_backup y recarga tu tienda. Si el error desaparece, el problema está ahí.
  • Regenera el .htaccess: Ve a Parámetros Avanzados > SEO y URLs en el panel de administración y guarda la configuración (sin cambiar nada). Esto regenerará el archivo correctamente.

4. Revisa los logs del servidor

Los logs son el mejor amigo de un SysAdmin. Si el modo debug no te da suficiente información, los logs del servidor te darán la pista definitiva.

  • En Syspanel: Busca la sección de "Logs" o "Registros del sistema". Normalmente están en /var/log/ o dentro de la carpeta de tu dominio (por ejemplo, /home/usuario/web/dominio/logs/).
  • Busca errores recientes con la palabra "PHP Fatal error" o "AH01071" (en Apache). Ahí verás la línea exacta del código que falla.

Paso 3: Causas comunes y sus soluciones específicas

Si los pasos anteriores no funcionaron, toca profundizar. Aquí están las causas más frecuentes del error 500 PrestaShop y cómo solucionarlas:

1. Módulo o tema incompatible

Los módulos y temas de terceros son la principal fuente de conflictos.

  • Solución: Desactiva todos los módulos no esenciales.
    • Si tienes acceso al panel: Ve a Módulos > Gestor de Módulos y desactiva los que no sean de PrestaShop o que hayas instalado recientemente.
    • Si no tienes acceso: Renombra la carpeta /modules a /modules_backup. Luego crea una nueva carpeta /modules vacía. Esto desactivará todos los módulos. Si el error desaparece, reactívalos uno por uno para encontrar el culpable.
  • Tema: Cambia temporalmente al tema predeterminado de PrestaShop (por ejemplo, "classic"). Si el error desaparece, el problema está en tu tema personalizado.

2. Problemas con la memoria PHP (memory_limit)

PrestaShop es una aplicación grande y necesita suficiente memoria para funcionar. Si el límite es muy bajo, obtendrás un error 500.

  • Solución: Aumenta el límite de memoria PHP.
    • Desde el archivo php.ini: Busca la línea memory_limit y cámbiala a memory_limit = 256M o incluso 512M.
    • Desde el archivo .htaccess: Añade esta línea: php_value memory_limit 256M.
    • Desde el panel de control (Syspanel): Busca la sección de "PHP Settings" o "Configuración PHP" y ajusta el valor.

3. Archivos PHP corruptos o faltantes

Una actualización fallida, una copia de seguridad incompleta o un ataque pueden dejar archivos dañados.

  • Solución: Reemplaza los archivos sospechosos con una copia limpia de la misma versión de PrestaShop.
    • Descarga PrestaShop desde la web oficial de PrestaShop.
    • Sube solo los archivos que el modo debug o los logs te indiquen que están corruptos (normalmente en /classes, /controllers o /override).

4. Exceso de archivos en la carpeta /cache

Una carpeta de caché demasiado grande puede saturar el servidor.

  • Solución: Vacía la carpeta /cache por completo (no la borres, solo su contenido). Puedes hacerlo desde FTP o con un comando como rm -rf /ruta/a/tutienda/var/cache/*.

Paso 4: Técnicas avanzadas para SysAdmin

Si has llegado hasta aquí y el error persiste, necesitas herramientas más potentes.

1. Revisar los logs de PHP-FPM (si usas Nginx)

Si tu servidor usa Nginx con PHP-FPM, los logs de PHP-FPM son cruciales.

  • Ubicación típica: /var/log/php-fpm/ o /var/log/php7.x-fpm.log.
  • Busca errores como "WARNING: [pool www] server reached pm.max_children setting" o "ERROR: unable to allocate memory for pool". Esto indica que necesitas ajustar la configuración de PHP-FPM en el archivo www.conf.

2. Usar la línea de comandos (CLI) para depurar

Si tienes acceso SSH, puedes ejecutar scripts de PrestaShop directamente para ver errores.

  • Ejemplo: Ejecuta php -f /ruta/a/tutienda/index.php desde la terminal. Esto mostrará cualquier error de PHP en la consola, sin el HTML de por medio.
  • Comprobar la sintaxis de un archivo: php -l /ruta/al/archivo/sospechoso.php te dirá si hay errores de sintaxis.

3. Verificar la integridad de la base de datos

A veces, el error 500 no viene del código, sino de la base de datos.

  • Solución: Usa la herramienta de reparación de tablas de MySQL.
    • Desde la línea de comandos: mysqlcheck -u usuario -p --auto-repair --databases nombredelabasededatos
    • Desde phpMyAdmin: Selecciona la base de datos, luego marca todas las tablas y elige "Reparar tabla".

FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop

P: ¿El error 500 puede deberse a un plugin de SEO?
R: Sí, absolutamente. Los plugins de SEO que modifican las URLs, los sitemaps o el archivo .htaccess son propensos a causar conflictos. Desactívalos como primer paso.

P: ¿Qué hago si el error 500 aparece solo en el panel de administración?
R: El problema suele estar en un módulo o en un override de clases. Activa el modo debug y mira el stack trace. También puedes intentar desactivar los módulos de terceros desde la base de datos (en la tabla ps_module).

P: ¿Actualizar la versión de PHP soluciona el error 500?
R: A veces sí, pero también puede crearlo. PrestaShop tiene requisitos específicos de versión de PHP (por ejemplo, 1.7.x necesita PHP 7.1 a 8.1). Si actualizas PHP, asegúrate de que tu versión de PrestaShop sea compatible. Si no, obtendrás errores de compatibilidad.

P: ¿Y si todo falla?
R: No te desesperes. Haz una copia de seguridad completa (archivos y base de datos) y contacta con el soporte técnico de tu hosting o con un desarrollador especializado en PrestaShop. A veces, un par de ojos frescos pueden ver lo que tú no ves.

Conclusión: Tú puedes con el error 500

El error 500 en PrestaShop puede ser frustrante, pero como has visto, es un problema que se resuelve con método y paciencia. Recuerda siempre:

  1. Activar el modo debug es tu primer y mejor aliado.
  2. Revisar los logs (del servidor y de PHP) te dará la respuesta.
  3. Desactivar módulos y temas es la técnica de diagnóstico más efectiva.
  4. No tengas miedo de tocar archivos, pero siempre con copias de seguridad.

Como SysAdmin PrestaShop, tu misión es mantener la tienda funcionando. Con esta guía, ya tienes un arsenal completo para solucionar error 500 y cualquier otro PrestaShop errores servidor. ¡Ánimo y a por ello! Si tienes dudas, recuerda que puedes consultar la documentación oficial de PrestaShop o los foros de la comunidad.

[TIP] Si usas Syspanel, recuerda que el puerto de acceso es el 2106 y que desde su panel de archivos y logs puedes hacer gran parte de estas comprobaciones sin necesidad de FTP. ¡Aprovecha esas herramientas!

¿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