Обработка ошибок PHP в Codeigniter - PullRequest
1 голос
/ 13 января 2012

Вчера я случайно нажал плохой кусок кода. Мой сайт не работал весь день. Неловко, да. Хуже всего было то, что мои клиенты не могли связаться со мной, чтобы сказать, что это не так.

Я не вижу, чтобы пользовательская страница ошибок codeigniter работала для ошибок php application/errors/error_general.php.

Я думаю, что это, вероятно, должно быть сделано на уровне Apache. Я попытался поместить ErrorDocument 500 /error.html в файл .htacess базовых папок. Это тоже не сработало.

По сути, я хотел бы создать страницу ошибок клиента для ошибок php в codeigniter. Какие-либо предложения?

Ответы [ 2 ]

2 голосов
/ 13 января 2012

Если вы посмотрите на system/core/CodeIgniter.php#63, затем system/core/Common.php#450, затем system/core/Exceptions.php#149, вы заметите, что страница обработчика ошибок - application/errors/error_php.php.Обратите внимание, что некоторые фатальные ошибки определенно не могут быть обработаны этим шаблоном ( ссылка ).

Следующие типы ошибок не могут быть обработаны с помощью пользовательской функции: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, и большинство из E_STRICT поднятый в файле, где set_error_handler () называется

0 голосов
/ 24 августа 2012

На самом деле, я понял это. Это нужно сделать в файле .htaccess в корне Codeigniter

Пример из файла .htaccess

ErrorDocument 500 /errors/500.htm
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...