Подавление ошибок 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()
вывод выглядит следующим образом [изображения в виде ссылок, поскольку это мой первый пост, и поэтому они не имеют достаточной репутации, чтобы помещать их в строку, извините!];
Выше показан путь к файлу конфигурации как /etc/php5/fpm
и загруженный файл конфигурации как /etc/php5/fpm/php.ini
, Второе изображение показывает display_errors
а также display_startup_errors
как Off
,
Что говорит о том, что эти настройки были установлены правильно, но загрузка страницы с ошибками приводит к страницам ошибок, например;
Unknown: preg_replace (): модификатор / e устарел, вместо этого используйте preg_replace_callback в /path/to/file.php в строке 651 **** Unknown: preg_replace (): модификатор / e устарел, вместо этого используйте preg_replace_callback в / путь / к / файлу.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
1 ответ
Это простой PHP или вы запускаете код с какой-то платформой?
В недавних средах довольно часто реконфигурируют отчеты об ошибках на лету и / или регистрируют собственный обработчик ошибок, так что, может быть, что-то в вашей программе перенастраивает его снова?