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

Cómo arreglar el error 500 en PrestaShop (Guía de resolución)

Actualizado el 18 de marzo de 2026

¿Tu tienda PrestaShop ha dejado de funcionar de repente y solo ves una pantalla en blanco o un mensaje que dice "Error 500"? No te preocupes, no eres el único. Este es uno de los problemas más comunes en el mundo del eCommerce, y la buena noticia es que, en la mayoría de los casos, tiene una solución clara y paso a paso.

En esta guía completa, vamos a desglosar qué significa exactamente el error 500 prestashop, por qué ocurre y, lo más importante, cómo resolverlo tú mismo sin necesidad de ser un experto en programación. Vamos a ir desde lo más simple (como limpiar la caché) hasta lo más técnico (como revisar los logs del servidor). Al final, tendrás un plan de acción claro para arreglar 500 prestashop y volver a vender.


¿Qué es exactamente un Error 500 en PrestaShop?

Un error 500, también conocido como prestashop error interno, es un mensaje genérico del servidor que indica que algo salió mal en el backend de tu tienda, pero el servidor no te da detalles específicos en la pantalla. Es como si tu coche se parara en mitad de la carretera y el tablero solo mostrara un "¡Fallo general!" sin decirte si es el motor, la batería o el combustible.

Este error puede aparecer en cualquier parte de tu tienda: en la portada, en el panel de administración, al añadir un producto al carrito o al procesar un pago. Las causas más frecuentes incluyen:

  • Permisos de archivos incorrectos (muy común tras migraciones o cambios de hosting).
  • Errores de PHP (versión incompatible, memoria insuficiente o código de un módulo defectuoso).
  • Problemas con la base de datos (tablas corruptas o conexión fallida).
  • Caché corrupta (archivos temporales que se han mezclado).

Preparación antes de empezar: Lo que necesitas

Antes de lanzarte a tocar archivos, es vital que te prepares. No queremos que un error 500 se convierta en un error 501 (o en una tienda caída durante días).

1. Acceso a tu panel de control (Hosting o VPS)

Necesitas poder acceder a los archivos de tu tienda. Esto puede ser a través de:

  • cPanel / Plesk: Si usas un hosting compartido.
  • SSH (terminal): Si tienes un VPS o servidor dedicado.
  • Syspanel: Si tu proveedor usa este panel de control (recuerda que el puerto de acceso es el 2106). Dentro de Syspanel, busca la sección de "Archivos" o "Administrador de archivos" para navegar por el directorio de tu web.

2. Acceso a la base de datos (MySQL/phpMyAdmin)

Muchas soluciones requieren tocar la base de datos. Asegúrate de tener las credenciales de acceso a phpMyAdmin o a la línea de comandos de MySQL.

3. Un editor de texto plano

Nada de Word o editores enriquecidos. Necesitas un editor como Notepad++ (Windows), Sublime Text o incluso el editor de código de tu panel de control.


Paso 1: La solución rápida (y a menudo milagrosa) – Limpiar la caché

En el 40% de los casos, el error 500 prestashop es simplemente una caché corrupta. PrestaShop genera archivos de caché (compilación de plantillas, configuración, etc.) que a veces se guardan de forma incorrecta.

Sigue estos pasos en orden:

  1. Entra a tu administrador de archivos (o por FTP) y navega hasta la carpeta raíz de tu tienda.
  2. Busca la carpeta /var/cache (en versiones antiguas de PrestaShop 1.6 o menores, la carpeta se llama /cache).
  3. Dentro de esa carpeta, encontrarás subcarpetas como dev, prod o cachefs. Elimina todo el contenido de estas carpetas, pero no borres las carpetas en sí (solo los archivos que hay dentro).
  4. Después, ve a la carpeta /var/logs (o /log en versiones antiguas) y borra los archivos .log que encuentres. Esto no es obligatorio, pero ayuda a que el sistema empiece de cero.

[TIP] Si no puedes borrar los archivos, a menudo es un problema de permisos. Cambia temporalmente los permisos de la carpeta /var/cache a 755 (y los archivos a 644) y vuelve a intentarlo. Después, restaura los permisos originales (normalmente 755 para carpetas y 644 para archivos).

Recarga tu tienda. Si el error persiste, pasa al siguiente paso.


Paso 2: Revisar los logs de PrestaShop (El detective interno)

Si la caché no era el problema, necesitamos que PrestaShop nos hable. Por defecto, los errores detallados están desactivados por seguridad, pero podemos activarlos temporalmente para ver la causa exacta del prestashop error interno.

Activar el modo debug (Desarrollo)

  1. Abre el archivo config/defines.inc.php en la raíz de tu tienda con un editor de texto.
  2. Busca la línea que dice:
    define('_PS_MODE_DEV_', false);
    
  3. Cambia false por true:
    define('_PS_MODE_DEV_', true);
    
  4. Guarda el archivo y sube los cambios. Ahora, al recargar tu tienda, en lugar del error 500 genérico, verás un mensaje de error detallado de PHP. Anota ese mensaje, es oro puro.

[WARNING] No olvides volver a poner false cuando termines de arreglar el error. Dejar el modo debug activado en producción es un riesgo de seguridad grave, ya que expone rutas internas de tu servidor.

¿Y si no veo nada? Revisa los logs del servidor

Si el modo debug no te muestra nada (pantalla en blanco), los logs están en otro sitio:

  • En Hosting compartido: Busca en cPanel una sección llamada "Errores" o "Error Logs" (normalmente en "Métricas" o "Registros"). Ahí verás los últimos errores de PHP.
  • En VPS con Syspanel: Dentro de Syspanel (puerto 2106), busca la sección de "Logs" o "Registros del sistema". También puedes acceder por SSH y ejecutar:
    tail -f /var/log/apache2/error.log
    
    (o nginx/error.log si usas Nginx).

Los errores típicos que verás:

  • PHP Fatal error: Allowed memory size of X bytes exhausted: Problema de memoria.
  • PHP Parse error: syntax error, unexpected...: Error de sintaxis en un archivo (normalmente un módulo o tema).
  • SQLSTATE[HY000] [2002] Connection refused: Problema de conexión a la base de datos.

Paso 3: Solucionar los errores más comunes según el log

Ahora que tienes el mensaje exacto, podemos atacar la raíz del problema. Aquí tienes las soluciones para los casos más frecuentes.

Caso A: "Allowed memory size exhausted" (Memoria insuficiente)

PrestaShop necesita memoria para ejecutar PHP. Si tu tienda tiene muchos módulos o productos, puede agotarla.

Solución:

  1. Aumenta el límite de memoria en el archivo config/defines.inc.php (el mismo que antes). Añade esta línea justo después de la línea de _PS_MODE_DEV_:
    ini_set('memory_limit', '512M');
    
  2. También puedes modificarlo en el archivo .htaccess (si usas Apache) añadiendo:
    php_value memory_limit 512M
    
  3. Si nada de esto funciona, contacta con tu proveedor de hosting para que aumente el límite de memoria a nivel de servidor (en PHP.ini).

[INFO] El valor recomendado para PrestaShop 1.7 y 8.x es de al menos 256M, aunque para tiendas grandes con muchos módulos, 512M es lo ideal.

Caso B: "Parse error" (Error de sintaxis)

Esto casi siempre es culpa de un módulo o tema que se ha actualizado mal o que tiene un archivo PHP corrupto.

Solución:

  1. El mensaje del log te dirá el archivo exacto y la línea del error (ej: /modules/mimodulo/mimodulo.php on line 45).
  2. Accede a ese archivo y revisa la línea mencionada. Busca comillas sin cerrar, puntos y comas faltantes o corchetes mal puestos.
  3. Si no sabes programar, la solución más rápida es desactivar el módulo. Puedes hacerlo desde el panel de administración (si tienes acceso) o renombrando la carpeta del módulo. Por ejemplo, si el módulo se llama mimodulo, renombra la carpeta modules/mimodulo a modules/mimodulo_bak. Esto lo desactivará temporalmente.

Caso C: "Connection refused" a la base de datos

Esto indica que PrestaShop no puede conectarse a MySQL.

Solución:

  1. Revisa el archivo config/settings.inc.php (PrestaShop 1.6) o app/config/parameters.php (PrestaShop 1.7 y 8). Verifica que el database_host, database_user, database_password y database_name son correctos.
  2. Si acabas de migrar de servidor, es muy común que las credenciales hayan cambiado. Actualízalas.
  3. Asegúrate de que el servicio MySQL esté corriendo en tu servidor. En Syspanel (puerto 2106), busca el estado de los servicios o ejecuta systemctl status mysql por SSH.

Paso 4: Permisos de archivos incorrectos (El clásico)

Si los logs no muestran nada o los errores son extraños, revisa los permisos. En Linux, cada archivo y carpeta tiene un propietario y unos permisos. Si son demasiado restrictivos, PHP no puede leerlos.

La regla de oro para PrestaShop:

  • Carpetas: Permisos 755.
  • Archivos: Permisos 644.
  • La carpeta /var/cache y /var/logs deben ser escribibles (a veces se usa 775 o 777 temporalmente).

Cómo cambiarlos:

  • Por FTP (FileZilla): Selecciona todos los archivos, clic derecho > "Permisos de archivos" y aplica los valores.
  • Por SSH: Ejecuta estos comandos desde la raíz de tu tienda:
    find . -type d -exec chmod 755 {} \;
    find . -type f -exec chmod 644 {} \;
    chmod -R 775 var/cache var/logs
    

[WARNING] No uses permisos 777 en todos los archivos. Es una puerta abierta para hackers. Úsalo solo temporalmente en las carpetas de caché y logs, y luego vuelve a 775.


Paso 5: Desactivar módulos y temas (Prueba y error)

Si has llegado hasta aquí y nada funciona, el problema es sin duda un módulo o el tema que estás usando. A veces un módulo es incompatible con la versión de PHP o con otro módulo.

Estrategia de "apagado general":

  1. Ve a tu administrador de archivos y renombra la carpeta /modules a /modules_bak.
  2. Crea una carpeta nueva vacía llamada /modules.
  3. Recarga tu tienda. Si el error desaparece, el problema es definitivamente un módulo.
  4. Ahora toca ir de uno en uno. Mueve los módulos de modules_bak a modules de uno en uno (o en grupos pequeños) y recarga la tienda cada vez. Cuando el error vuelva a aparecer, ya sabes cuál es el culpable.

Para el tema:

  • Renombra la carpeta /themes a /themes_bak y luego crea una carpeta /themes vacía. PrestaShop usará el tema predeterminado (clásico). Si el error desaparece, tu tema personalizado está roto.

Paso 6: La última bala de plata – Aumentar el tiempo de ejecución de PHP

A veces, el error 500 ocurre solo en acciones concretas (como importar un CSV grande o generar un PDF). Esto es un problema de max_execution_time.

Solución: Añade al archivo .htaccess (o en php.ini si tienes acceso):

php_value max_execution_time 300

Esto le da a PHP 5 minutos para ejecutar scripts largos.


Preguntas Frecuentes (FAQ) sobre el Error 500 en PrestaShop

¿Puede un error 500 ser culpa de mi hosting?
Sí. A veces el servidor tiene una configuración incorrecta de PHP o el servicio web (Apache/Nginx) se ha caído. Revisa el estado del servicio en tu panel (Syspanel, puerto 2106, sección "Servicios") o contacta con soporte.

¿Pierdo mis datos si borro la caché?
No. La caché solo almacena datos temporales. Tus productos, pedidos y clientes están en la base de datos, que no se toca en este proceso.

¿Qué hago si no tengo acceso al panel de administración?
No pasa nada. Todos los pasos de esta guía se realizan desde el administrador de archivos o FTP. No necesitas entrar al back-office de PrestaShop.

¿Es normal que el error 500 aparezca después de una actualización de PrestaShop?
Muy normal. Las actualizaciones mayores (de 1.6 a 1.7, por ejemplo) suelen romper módulos y temas. Sigue los pasos del Paso 5 (desactivar módulos) para aislar el problema.

¿Cuánto tiempo se tarda en arreglar este error?
Depende. Si es la caché, 5 minutos. Si es un módulo, 30 minutos. Si es un problema de base de datos, puede llevar horas. Pero con paciencia y esta guía, lo resolverás.


Resumen y prevención futura

Hemos cubierto los 6 pasos principales para resolver error 500 prestashop. Recuerda el orden lógico: 1. Caché → 2. Logs → 3. Memoria/Sintaxis → 4. Permisos → 5. Módulos/Tema → 6. Tiempo de ejecución.

Para evitar que esto vuelva a pasar en el futuro:

  • Actualiza siempre con copia de seguridad de archivos y base de datos.
  • No instales módulos de fuentes desconocidas.
  • Mantén PHP actualizado a una versión soportada por tu PrestaShop (idealmente PHP 8.0 o 8.1 para PrestaShop 8).
  • Revisa los logs de tu servidor una vez al mes para detectar problemas antes de que se conviertan en un error 500.

Si has seguido todos los pasos y el error persiste, no te desesperes. A veces la solución está en un detalle muy específico de tu servidor. En ese caso, contacta con tu proveedor de hosting y muéstrales el mensaje exacto del log que capturaste en el Paso 2. Ellos tendrán las herramientas para diagnosticar problemas a nivel de servidor que escapan a este tutorial.

Esperamos que esta guía te haya sido de gran ayuda. ¡Ahora ve y arregla ese error 500 para que tu tienda vuelva a vender!

¿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