2015-04-17 2 views
2

У меня есть приложение CodeIgniter PHP, работающее на экземпляре кедра Героку.Как предотвратить CodeIgniters от печати ошибок PHP

У нас работает PHP-приложение, и нам нужно регистрировать ошибки, но НЕ печатать их на экране. Независимо от того, что я делаю, ошибки печатаются на экране, что небезопасно для производства.

Вот код PHP, который работает на моей местной окружающей среды и везде (кроме того Heroku):

error_reporting(E_ALL); #we care about all errors ini_set('display_errors',0); #but DONT print to screen

Я видел this document, который предложил мне попробовать добавить пользовательский CodeIgniter протоколирования класс, который не сделал Работа.

Я также добавил приложение в приложение phpinfo(), чтобы проверить, были ли какие-то настройки переопределены ниже по течению, но это показывает, что для параметра display_errors установлено значение «Выкл.».

Итак, почему я ВСЕГДА вижу ошибки, напечатанные на экране?

+0

Вы пытались включить эти правила ошибок в свой 'index.php' в среду 'production'? http://stackoverflow.com/questions/20773786/how-to-disable-php-error-reporting-in-codeigniter –

ответ

2

Оказалось, что CodeIgniter 2.x имеет некоторую полностью обработанную обработку ошибок, в которой они используют собственный обработчик ошибок, чтобы игнорировать конфигурации разработчиков. По-видимому, это фиксируется в v3.

я был в состоянии исправить это просто закомментировать обработку пользовательских ошибок, который для меня был расположен в в CodeIgniter.php, линии 72 ...

//set_error_handler('_exception_handler');

Или лучшее решение всех : не используйте CodeIgniter в первую очередь.

+0

Или другое лучшее решение: исправить ошибки :) – Cristik

+0

Поиск ошибок - это первый шаг к их исправлению. Или, возможно, CodeIgniter 2.x - это инфраструктура, предназначенная только для тех, у кода NEVER есть ошибки ... – emersonthis

+0

Ну, вы не можете не оценить, что CI заставляет вас исправить все ошибки/предупреждения/уведомления, всегда печатая их :). Кстати, я также использую CI 2.x и не сталкиваюсь с этой проблемой, вы правильно установили переменную 'ENVIRONMENT'? – Cristik

Смежные вопросы