fastcgi и ошибка 500
fastcgi и ошибка 500
Здравствуйте!
Возникла проблема, решить которую не удаётся. Перерыл весь инет, всё перепробовал, а воз и ныне там. Помогите, кто может.
Суть: когда к серверу идёт пост запрос, который требует большого времени выполнения, после 30 секундного таймаута выскакивает ошибка 500.
В логах такие строки:
Конфигурация php-fpm + Nginx. Ubuntu 14.04
Где чего подкрутить?
Возникла проблема, решить которую не удаётся. Перерыл весь инет, всё перепробовал, а воз и ныне там. Помогите, кто может.
Суть: когда к серверу идёт пост запрос, который требует большого времени выполнения, после 30 секундного таймаута выскакивает ошибка 500.
В логах такие строки:
Я увеличивал -idle-timeout, request_terminate_timeout, fastcgi_read_timeout и max_execution_time. После изменений перезагружал сервисы и всё бестолку. Как был 30 секундный таймаут, так и остался.[fastcgi:error] *** FastCGI: comm with server "/home/admin/web/***/cgi-bin/php5-fcgi" aborted: idle timeout (30 sec), referer: http://***/
[fastcgi:error] *** FastCGI: incomplete headers (0 bytes) received from server "/home/admin/web/***/cgi-bin/php5-fcgi", referer: http://***/
Конфигурация php-fpm + Nginx. Ubuntu 14.04
Где чего подкрутить?
Re: fastcgi и ошибка 500
http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.htmlSpecial PHP considerations
By default, PHP FastCGI processes exit after handling 500 requests, and they may exit after this module has already connected to the application and sent the next request. When that occurs, an error will be logged and 500 Internal Server Error will be returned to the client. This PHP behavior can be disabled by setting PHP_FCGI_MAX_REQUESTS to 0, but that can be a problem if the PHP application leaks resources. Alternatively, PHP_FCGI_MAX_REQUESTS can be set to a much higher value than the default to reduce the frequency of this problem. FcgidMaxRequestsPerProcess can be set to a value less than or equal to PHP_FCGI_MAX_REQUESTS to resolve the problem.
FcgidMaxRequestsPerProcess должен быть ниже или одинаковым с PHP_FCGI_MAX_REQUESTS, чтобы в момент, когда значение достигает максимума, а процесс работает, у пользователя не появлялась ошибка 500.
Re: fastcgi и ошибка 500
Вы уверены, что дело в настройках количества запросов? В логах ведь чётко указано, что истёк 30 секундный таймаут, а не превышено допустимое количество запросов на процесс.FcgidMaxRequestsPerProcess должен быть ниже или одинаковым с PHP_FCGI_MAX_REQUESTS, чтобы в момент, когда значение достигает максимума, а процесс работает, у пользователя не появлялась ошибка 500.