Все говорят, что «Разрешение показа ошибок» на активном сайте - это плохо (из-за некоторых проблем с безопасностью).
Теперь мы должны рассмотреть 2 случая:
Теперь для случая №1:
Мы хотим видеть ошибки. Как?
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
Нет ничего проще. Также мы можем настроить обработчик ошибок для всех ошибок, кроме Parse и Fatal.
Вместо этого, если случай №2:
Мы хотели бы иметь возможность деактивировать сообщения:
ini_set('error_reporting', 0);
ini_set('display_errors', 0);
И это нормально. Но как насчет того, чтобы показать пользователям дружеское сообщение, например «Привет, чувак, что-то действительно испортилось. Я не уверяю вас, что мы работаем над этим, так как мы очень ленивы».
Вы должны снова включить ошибки и просто использовать функцию set_error_handler ()
и надеяться, что не произойдет синтаксического анализа или фатальных ошибок. Но мой первый вопрос:
Вопрос 1 : Можно ли избежать сообщения об ошибках и иметь настраиваемую автономную страницу, которая загружается, когда что-то идет не так? Я имею в виду, возможно ли иметь
ini_set ('error_reporting', 0);
иini_set ('display_errors', 0);
и по-прежнему иметь возможность указывать PHP для загрузки пользовательского Страница ошибки?
А теперь еще:
Вопрос 2 : Я разработал класс, который с помощью
set_error_handler ()
записывает ошибки в базу данных. Таким образом я могу отслеживать попытки взлома и другие интересные вещи. (И да, я m всегда уверен, что БД доступна, поскольку мое приложение закрывается, если мы не можем подключиться к БД). Это чего-то стоит?