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

Подавление ошибок PHP с помощью Nginx и php-fpm

Как бы я ни старался, я не могу подавить отображение сообщений об ошибках от PHP (используя php-fpm).

Соответствующие файлы;

/etc/php5/fpm/php.ini:display_errors = Off
/etc/php5/fpm/pool.d/www.conf:php_flag[display_errors] = off
/etc/php5/fpm/pool.d/www.conf:php_admin_flag[display_errors] = off
/etc/php5/cli/php.ini:display_errors = Off

Когда я звоню phpinfo() вывод будет следующим [изображения в виде ссылок, поскольку это мой первый пост и поэтому у меня недостаточно репутации, чтобы разместить их в строке, извините!];

https://i.stack.imgur.com/4ttGt.png https://i.stack.imgur.com/4LAah.png

Выше показан путь к файлу конфигурации как /etc/php5/fpm и загруженный файл конфигурации как /etc/php5/fpm/php.ini. На втором изображении показано display_errors и display_startup_errors так как Off.

Это говорит о том, что эти настройки были установлены правильно, но загрузка страницы с ошибками приводит к страницам с ошибками, например:

Неизвестно: preg_replace (): Модификатор / e устарел, используйте вместо него preg_replace_callback в /path/to/file.php онлайн 651 **** Неизвестно: preg_replace (): Модификатор / e устарел, используйте вместо него preg_replace_callback в /path/to/file.php онлайн 651

(отформатирован, как указано выше, поэтому применяется форматирование HTML)

Я также пробовал установить ini_set("display_errors", 0); и даже error_reporting(0); но безрезультатно.

Также отредактировал, чтобы добавить;

# php5-fpm -i | grep error
display_errors => Off => Off
display_startup_errors => Off => Off
error_append_string => no value => no value
error_log => /var/log/php_err.log => /var/log/php_err.log
error_prepend_string => no value => no value
error_reporting => 22527 => 22527
html_errors => Off => Off
ignore_repeated_errors => On => On
log_errors => On => On
log_errors_max_len => 1024 => 1024

Что мне не хватает?

Версии следующие;

Debian 8 Джесси

PHP 5.6.30-0 + deb8u1

Nginx 1.6.2

Это простой PHP или вы запускаете код с какой-то структурой?

В последних фреймворках довольно распространено перенастраивать отчеты об ошибках на лету и / или регистрировать собственный обработчик ошибок, так что, возможно, что-то в вашей программе перенастраивает его снова?