Назад | Перейти на главную страницу

nginx php-fpm как отключить предупреждения журнала?

У меня есть установка с nginx + php-fpm. Я нашел в моем журнале ошибок nginx много предупреждений PHP, подобных этому:

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"

Я не хочу регистрировать подобное событие, они заполняют мои журналы и создают много слухов в отчетах New Relic. Вы знаете, как изменить такое поведение nginx?

Я попытался изменить свою конфигурацию php.ini следующим образом:

 error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR

Событие регистрируется в журнале ошибок nginx, поэтому я думаю, что это не связано с конфигурацией php-fpm.

Любые предложения приветствуются

Спасибо Фабио

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

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

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

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

После редактирования файлов 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