nginx php-fpm how to disable log warnings?

I've a setup with nginx + php-fpm. I found in my nginx error log a lot of PHP Warning messages like this:

2016/03/17 20:57:23 [error] 23002#0: *114868 FastCGI sent in stderr: "PHP message: PHP Warning:  Declaration of Walker_Category_Filter::start_el(&$output, $category, $depth, $args) should be compatible with Walker_Category::start_el(&$output, $category, $depth = 0, $args = Array, $id = 0) in /var/www/wp-content/themes/venture/functions/theme/custom-post-types.php on line 0
PHP message: PHP Warning:  Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /var/www/wp-includes/functions.php on line 3464", client: 52.69.241.233, server: www.myhost.net, request: "GET /appuntamenti/ HTTP/1.1", host: "www.myhost.net"

I don't want to log event like this, they fill up my logs and create a lot of rumors on New Relic reports. Do you knwow ho to change this behavior of nginx?

I've tried to change my php.ini configuration with this:

 error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR

The event are logged in nginx error log, so I think that's not related to php-fpm configuration.

Any suggestion is welcome

Thanks Fabio

0
задан 17 March 2016 в 22:03
3 ответа

Это предупреждения, выдаваемые самим PHP; так как они выводятся в stdout (или, может быть, в stderr), не будучи пойманными, они попадают в лог-файлы вашего сервера.

Я ожидаю, что записи в вашем php.ini будет достаточно, чтобы заставить замолчать эти предупреждения. Если этого не происходит, то вы должны проверить, не перекрывает ли приложение эти настройки через функцию error_reporting().

В общем, вы должны обратить внимание на предупреждения - в конце концов, это все-таки предупреждения! Кто бы ни отвечал за сопровождение приложения (это можете быть вы), должен посмотреть на них и исправить; замалчивание их в логах - это всего лишь перебивание проблем, и может вернуться, чтобы укусить вас за задницу.

.
4
ответ дан 4 December 2019 в 11:26

Хотя ответ Xiong сработал для вас, мне пришлось использовать следующий метод.

После редактирования файлов PHP.ini и проверки отсутствия значений ini_set / error_reporting и перезапуска службы php5-fpm я все еще получал предупреждения. В конце концов, мне пришлось добавить это в свой файл пула fpm

/ etc / php5 / fpm /pool.d/www.conf

, чтобы отключить предупреждения:

php_admin_value[error_reporting] = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED

затем перезапустите службу

service php5-fpm restart
1
ответ дан 4 December 2019 в 11:26

nginx add

location / {
    ...

    fastcgi_param PHP_ADMIN_VALUE "error_reporting=E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED";
    
    ...
}
0
ответ дан 29 October 2020 в 08:04

Теги

Похожие вопросы