PHP display_errors = 0 не соблюдается
Я использую CodeIgniter, и я добавил следующие строки в мой index.php:
error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', $_SERVER['DOCUMENT_ROOT'] . '/php_errors.log');
По какой-то причине, однако, PHP всегда отображает Предупреждения / Ошибки в любом случае, а не создает журнал в доступном для записи каталоге. Я знаю, что вышеприведенный код был запущен, потому что если я удалю часть "^ E_NOTICES" и повторно отправлю, я увижу множество уведомлений. Я также бросил оператор die() после вышеприведенного кода, чтобы убедиться, что его ударили. Наконец, я просмотрел всю кодовую базу, чтобы убедиться, что "display_errors" не используется позже в коде, перезаписав мое значение 0.
Могу ли я что-то упустить, что мешает остановить отображение ошибок?
1 ответ
Вы должны искать "set_error_handler" в источнике CodeIgniter. Похоже, их обработчик ошибок уважает error_reporting
установка, но не display_errors
установка, распространенная ошибка. Смотрите также: Соблюдает ли пользовательский обработчик ошибок PHP конфигурацию PHP?