Cómo Solucionar el Error 504 Gateway Timeout en PrestaShop de Forma Definitiva

Cómo Solucionar el Error 504 Gateway Timeout en PrestaShop de Forma Definitiva
Anuncio relacionado

¿Qué es el Error 504 Gateway Timeout en PrestaShop?

El error 504 Gateway Timeout es uno de los problemas más frustrantes a los que se enfrenta cualquier administrador de e-commerce. Ocurre cuando un servidor que actúa como puerta de enlace o proxy no recibe una respuesta oportuna del servidor principal (como Apache o Nginx) o de PHP-FPM al intentar procesar una solicitud de PrestaShop. Esto suele suceder durante procesos pesados como la importación de grandes catálogos, la regeneración de miniaturas o consultas SQL muy complejas.

Principales Causas del Error 504 en tu Tienda

  • Tiempo de espera (timeout) agotado en el servidor web Nginx o Apache.
  • Configuración insuficiente de max_execution_time y memory_limit en PHP.
  • Consultas a la base de datos excesivamente lentas o tablas de PrestaShop corrompidas.
  • Problemas temporales con servicios de CDN o proxies inversos como Cloudflare.

Método 1: Aumentar los límites de tiempo de ejecución en PHP

La causa más común es que PHP agota el tiempo máximo permitido para ejecutar un script. Sigue estos pasos para solucionarlo:

  1. Accede al panel de control de tu hosting o servidor VPS mediante SSH o gestor de archivos.
  2. Localiza tu archivo php.ini correspondiente a la versión de PHP que utiliza tu PrestaShop.
  3. Modifica o añade las siguientes directivas para ampliar los tiempos y recursos:
    max_execution_time = 300
    max_input_time = 300
    memory_limit = 512M
  4. Guarda los cambios y reinicia tu servidor web (Apache o PHP-FPM) para aplicar la nueva configuración.

Método 2: Configurar los tiempos de espera en Nginx y Apache

Si tu servidor utiliza Nginx como proxy inverso frente a Apache, es probable que Nginx esté cancelando la petición antes de que PHP termine de procesarla. Debes ajustar los parámetros de timeout:

  1. Abre el archivo de configuración de tu dominio en Nginx (generalmente en /etc/nginx/sites-available/tu-tienda.com).
  2. Añade o incrementa los valores de timeout dentro del bloque location:
    proxy_connect_timeout 300s;
    proxy_send_timeout 300s;
    proxy_read_timeout 300s;
    fastcgi_read_timeout 300s;
  3. Verifica que la sintaxis sea correcta ejecutando sudo nginx -t y recarga Nginx con sudo systemctl reload nginx.

Método 3: Optimizar la base de datos y limpiar la caché de PrestaShop

Una base de datos sobrecargada con registros de logs masivos o tablas temporales bloqueadas puede provocar un cuello de botella que dispare el error 504.

  1. Entra a phpMyAdmin desde tu hosting.
  2. Selecciona la base de datos de tu PrestaShop y busca tablas pesadas como ps_connections, ps_connections_source o ps_log.
  3. Vacia estas tablas si contienen millones de registros innecesarios utilizando la orden TRUNCATE TABLE nombre_de_tabla;.
  4. Finalmente, elimina manualmente el contenido de la carpeta var/cache/ en la raíz de tu instalación de PrestaShop para forzar la regeneración limpia de la caché.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Juegos

Cómo Solucionar el Error de la Pantalla Negra en VALORANT de Forma Definitiva

La pantalla negra al arrancar VALORANT es un problema frustrante pero común. Descubre cómo solucionarlo definitivamente con estos métodos.

Leer guía completa →
Linux

Cómo Solucionar el Error 'Hash Sum Mismatch' en APT (Ubuntu/Debian)

Soluciona de forma definitiva el error Hash Sum Mismatch en tus actualizaciones de paquetes con APT. Guía técnica rápida.

Leer guía completa →
Hardware

Cómo Solucionar el Error de Dispositivo USB no Reconocido de Forma Definitiva

¿Tu ordenador no detecta tus dispositivos externos y muestra un error de USB no reconocido? Descubre cómo solucionar este fallo de hardware rápidamente con nuestra guía.

Leer guía completa →