nginx+ php-fpm 5.3.10+ + error_log from fastcgi

Maxim Dounin mdounin at mdounin.ru
Wed Sep 26 16:19:02 UTC 2012


Hello!

On Wed, Sep 26, 2012 at 02:13:47AM -0400, john2do wrote:

> День добрый,
> был в пхп такой баг https://bugs.php.net/bug.php?id=61045
> в фиксинге, разрабы были видимо под действием чего-то доброго и запилили
> логгинг ошибок следующим образом:
> 
> ---
> In our case, the new function sapi_cgi_log_fastcgi() in fpm_main.c will 
> send any messages (PHP and FPM) back to the fastcgi client no matter what
> the 
> debug level is.
> ---

Т.е. вообще всё, без фильтрации по маске error_reporting?  Звучит 
интригующе.  Новый баг ещё не открыли, нет?

> соответственно при дефолтовых параметрах энжи, и добром уровне ошибок в пхп
> это всё прилетает обратно на запрос и в какойто момент энжи начинает,
> справедливо сыпать в лог подобными сообщениями:
> 
> [error] 2723#0: *257 upstream sent too big header while reading response
> header from upstream, client: 192.168.204.139, server: foo.dev.local,
> request: "GET /main.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000",
> host: "foo.dev.local"
> 
> вылечить конечно можно и хаком аля
> fastcgi_buffer 16k;
> fastcgi_buffer_size 32k;
> но это до поры до времени.
> 
> можно как-то ошибки, которые таким возвращает пхп логгировать на уровне энжи
> в еррор-лог?

Они логгируются на уровне error:

2012/09/26 19:59:09 [error] 19324#0: *9 FastCGI sent in stderr: "sample stderr text" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /stderr HTTP/1.0", upstream: "fastcgi://127.0.0.1:8081", host: "localhost"

Если, конечно, ребята из php всё сделали правильно.

-- 
Maxim Dounin
http://nginx.com/support.html



Подробная информация о списке рассылки nginx-ru