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
Это предупреждения, выдаваемые самим PHP; так как они выводятся в stdout (или, может быть, в stderr), не будучи пойманными, они попадают в лог-файлы вашего сервера.
Я ожидаю, что записи в вашем php.ini
будет достаточно, чтобы заставить замолчать эти предупреждения. Если этого не происходит, то вы должны проверить, не перекрывает ли приложение эти настройки через функцию error_reporting()
.
В общем, вы должны обратить внимание на предупреждения - в конце концов, это все-таки предупреждения! Кто бы ни отвечал за сопровождение приложения (это можете быть вы), должен посмотреть на них и исправить; замалчивание их в логах - это всего лишь перебивание проблем, и может вернуться, чтобы укусить вас за задницу.
.Хотя ответ 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