PHP-Gateway-Timeout

PHP-Gateway-Timeout

Ich muss die PHP-Ausführung verlängern und was auch immer sonst ein Problem sein könnte. Ich dachte, ich hätte das bereits getan, aber ich bekomme immer noch Gateway-Timeouts von meiner letzten WordPress-Installation. Der php-fpm-Pool hat die folgende Konfiguration

[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

Die Syntax ist in Ordnung, aber da die Skripte nach etwa 30 Sekunden ablaufen, frage ich mich, was ich sonst noch übersehen habe. Es ist vielleicht übertrieben, aber ich bin in Eile und werde es später lernen. Erklären Sie es gerne, aber wenn mir jemand alle Werte nennen könnte, die ich erhöhen könnte, um dieses Problem mit roher Gewalt anzugehen und zu lösen, wäre das großartig.

Antwort1

Fügen Sie in /etc/php5/fpm/pool.d/www.conf diese Zeile hinzu:

request_terminate_timeout = 180

Fügen Sie außerdem in /etc/nginx/sites-available/default die folgende Zeile zum Standortblock des betreffenden Servers hinzu:

fastcgi_read_timeout 180;

Der gesamte Standortblock sieht folgendermaßen aus:

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;
}

Starten Sie jetzt einfach php-fpm und nginx neu und es sollte keine Timeouts mehr für Anfragen geben, die weniger als 180 Sekunden dauern.

Antwort2

Ich würde damit beginnen, die maximale Eingabe- und Ausführungszeit manuell in Ihrer php.ini festzulegen, anstatt zu versuchen, irgendwelche Einstellungen in php-fpm oder nginx zu überschreiben.

verwandte Informationen