1 votes

Délai d'attente de la passerelle PHP

J'ai besoin de rendre l'exécution de PHP plus longue, et tout ce qui pourrait être un problème. Je pensais l'avoir déjà fait, mais j'obtiens toujours des timeouts de passerelle depuis ma récente installation de wordpress. Le pool php-fpm a la configuration suivante

[john]
user = john
group = john

listen = 127.0.0.1:9002
listen.owner = www
listen.group = www

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

php_admin_value[max_execution_time] = 300
php_admin_value[max_input_time] = 120

La syntaxe est correcte mais avec scripts qui se termine en 30 secondes, je me demande ce que j'ai raté d'autre. C'est peut-être exagéré mais je suis pressé et j'apprendrai plus tard, n'hésitez pas à expliquer, mais si quelqu'un pouvait me dire toutes les valeurs que je pourrais augmenter pour frapper ce problème avec la force brute et le résoudre, ce serait génial.

1voto

ffflabs Points 111

Je commencerais par définir manuellement l'entrée maximale et le temps d'exécution dans votre php.ini au lieu d'essayer de remplacer les paramètres de php-fpm ou de nginx.

0voto

Harikrishnan Points 1017

Dans /etc/php5/fpm/pool.d/www.conf ajoutez cette ligne :

request_terminate_timeout = 180

De plus, dans /etc/nginx/sites-available/default, ajoutez la ligne suivante au bloc d'emplacement du serveur en question :

fastcgi_read_timeout 180;

L'ensemble du bloc de localisation ressemble à ceci :

location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_read_timeout 180;
    include fastcgi_params;
}

Il ne reste plus qu'à redémarrer php-fpm et nginx et il ne devrait plus y avoir de dépassement de délai pour les requêtes prenant moins de 180 secondes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X