Éviter l'erreur 504 Gateway Timeout lors d'une session de débogage avec Xdebug
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