У меня есть установка с 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