Увеличение времени выполнения PHP скрипта с Nginx
- Если у вас есть большой проект или сервер с ограниченными ресурсами, то Вы будете часто видеть «504 Gateway Time-out» ошибку.
Вы можете выполнить приведенные ниже шаги, чтобы увеличить значение тайм-аута. В PHP по умолчанию 30 секунд.
- Изменения в php.ini
Если вы хотите изменить максимальное время выполнения для PHP скриптов из 30 секунд (по умолчанию) до 300 секунд.
nano /etc/php5/fpm/php.ini
Установите…
max_execution_time = 300
В Apache PHP работает как модуль, этих изменений будет достаточно. Но в нашем случае мы должны сделать изменения еще в нескольких местах.
- Изменения в PHP-FPM
Это нужно, если Вы раскоментировали параметр request_terminate_timeout ранее. По умолчанию он закоментирован и берет значение max_execution_time found из php.ini
Открываем…
nano /etc/php5/fpm/pool.d/www.conf
Устанавливаем…
request_terminate_timeout = 300
- Изменения в Nginx Config
Увеличение time limit-а для одного домена example.com
nano /etc/nginx/sites-available/example.com location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_read_timeout 300; }
Если Вы хотите увеличить time-limit для всех доменов на вашем сервере, Вы можете отредактировать главный конфигурационный файл nginx.conf:
nano /etc/nginx/nginx.conf
Добавить следующий параметр в http{..} секцию
http { #... fastcgi_read_timeout 300; #... }
- Перезагружаем PHP-FPM и Nginx
service php5-fpm restart service nginx restart