Christophe Meneses - Développeur
  • Liste des articles
  • Contact
  • Linkedin
  • Viadeo
  • Github
Tous les articles Xdebug / Nginx Éviter l'erreur 504 Gateway Timeout lors d'une session de débogage avec Xdebug
Xdebug Nginx

Éviter l'erreur 504 Gateway Timeout lors d'une session de débogage avec Xdebug

Publié le 06/01/2018.

Lors d'une session de débogage avec un serveur Nginx, si la durée de la session dépasse la durée limite fixée dans la configuration, Nginx va mettre fin à la communication et vous aurez une jolie page blanche (code HTTP 504). Ce qui peut être embêtant car vous voulez sans doute voir le résultat final de la requête et non une page blanche.

Solution

Par défaut le timeout de Nginx est fixé à 60 secondes. En environnement de développement, on va augmenter cette durée pour être tranquille lors de nos débogages.

Pour cela, ouvrez le fichier de configuration de Nginx qui est utilisé pour votre application. Par exemple sur Ubuntu, il se situe dans etc/nginx/sites-available.

Dans la partie server, configurez la durée en modifiant le paramètre fastcgi_read_timeout. Par exemple ici, on indique une durée de 600 secondes :

server {
    [...]
  
    fastcgi_read_timeout 600;
    
    [...]
}

Il ne reste plus qu'à redémarrer Nginx pour que la nouvelle configuration soit prise en compte :

/etc/init.d/nginx restart

Version

Cet article a été testé avec :

Nginx : 1.12
Xdebug : 2.5
Début de l'article

Tous les articles Xdebug / Nginx Éviter l'erreur 504 Gateway Timeout lors d'une session de débogage avec Xdebug

Liste des articles par catégorie

  1. Tous 111
  2. Apache2
  3. APC1
  4. Assetic2
  5. Bash2
  6. CentOS9
  7. Composer5
  8. CSS1
  9. Deployer1
  10. Design Pattern11
  11. Docker5
  12. Doctrine13
  13. Elasticsearch3
  14. Git6
  15. Google Charts1
  16. Hardware1
  17. Hébergement1
  18. JavaScript1
  19. jQuery4
  20. Kibana2
  21. Logstash1
  22. Machine Learning1
  23. MariaDB2
  24. Memcached2
  25. MySQL3
  26. Nginx1
  27. PHP56
  28. PHP_CodeSniffer1
  29. PHP-FPM2
  30. PhpMyAdmin1
  31. PhpStorm3
  32. PHPUnit3
  33. PostgreSQL2
  34. RabbitMQ1
  35. SQL1
  36. SVN4
  37. Sybase ASE1
  38. Symfony50
  39. Twig3
  40. Ubuntu14
  41. Vue.js1
  42. Vuex1
  43. Webpack Encore1
  44. Xdebug5

Derniers articles publiés

Vue.js / Vuex
Store : propager une action qui est située dans un module différent

Composer
Composer require se termine par l'erreur "PHP Fatal error : Allowed memory size of x bytes exhausted (tried to allocate x bytes)"

PHP / Design Pattern / PHPUnit
Gérer le temps comme un service pour pouvoir le "mocker" et faciliter les tests unitaires

PHP / Doctrine
Trier une collection d'objet en fonction de la valeur d'un attribut

Ubuntu / MariaDB
Création d'un tunnel SSH avec redirection locale de port

PHP Symfony MariaDB HTML5 CSS3 JavaScript Bootstrap

© 2014 - 2019 réalisé par Christophe MENESES