152 votes

Empêcher le délai d'attente de la passerelle nginx 504 en utilisant PHP set_time_limit()

Je reçois le message de dépassement de délai 504 de nginx lorsque mon script PHP s'exécute plus longtemps que d'habitude. set_time_limit(0) ne semble pas empêcher cela ! Est-ce que cela ne fonctionne pas lorsque php5-fpm est exécuté sur nginx ? Si c'est le cas, quelle est la bonne façon de définir la limite de temps ?

Erreur :

504 Gateway Time-out
nginx/1.2.7

0voto

AnomalySmith Points 162

N'oubliez pas de consulter vos logs php-fpm !

Dans mon cas sur PHP 7.3, j'ai rencontré :

WARNING: [pool www] le serveur a atteint le paramètre pm.max_children (5), pensez à l'augmenter

Sur /etc/php/7.3/fpm/pool.d/www.conf, j'ai dû augmenter la valeur de pm.max_children de 5 à 50 (je fais parfois des traitements locaux assez lourds...).

Remarque : cela peut utiliser beaucoup plus de CPU !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X