Перечислю отрицательные моменты (положительных просто нет) ситуации отказа сайта:
- пользователю выводится некорректное сообщение об ошибке
- выводится отладочная информация, что может быть использовано злоумышленником
- администрация сайта об этом не узнает, пока сама не “наткнется” на текущую ошибку
- иногда ошибку трудно отловить из-за недостаточности данных протекания процесса ее возникновения (т.е. мало отладочной информации)
- отлаживать удаленный сервер при помощи выдачи информации в браузер, как минимум некорректно
- авторитет ресурса (как и разработчика) теряет свои позиции
[spoiler]
- корректное оповещение пользователя об ошибке (с произвольным шаблоном отображения)
- мгновенное оповещение администрации сайта о сложившейся ситуации
- в оповещение включается основная отладочная информация, таким образом процесс “отлова” ошибки значительно облегчается
- оповещение администрации ресурса только по уникальным в течении часа ошибкам, т.е. повторное оповещение об одной и той же ошибке будет выслано не ранее чем через час, это своего рода защита от избыточных уведомлений
- установка и настройка модуля не требует дополнительного кодирования

По текущей идеологии интеграции продукта “1С-Битрикс”, проект имеет множество входных страниц, т.е. физических файлов на сервере соответствующих их uri адресам. Именно в таком файле происходит подключение ядра продукта. Модуль не обработает синтаксическую ошибку файла входной страницы, так как на момент проверки её синтаксиса ядро еще не загружено. Вероятность возникновения такой ситуации на рабочем проекте близка к нулю и подобную неисправность трудно не заметить в ходе реализации функционала.
Использование.
После установки модуля в его настройках, необходимо задать следующие параметры:
- путь к шаблону для вывода ошибки, можно изменить шаблон поставляемый с модулем на любую страницу оформленную в стиле дизайна сайта
- email адреса на которые будут присылаться оповещения, пользователи могут быть даже не зарегистрированы в системе, возможно это будет тех. поддержка web-студии
- информация для включение в оповещение. Так как некоторая информация может быть избыточной и неудобочитаемой, данные оповещения можно выбирать в настройках
- активность, т.е. модуль можно временно деактивировать (например для непосредственной отладки)

Если информации включаемой стандартно в оповещение недостаточно, существует событие “OnError” в обработчике которого можно вывести индивидуальные данные.
Пример дополнительного вывода в отладочную информацию о сервере и среде исполнения:
<?php
function dumpServer() {
$result = "Переменная окружения \$_SERVER\n\n";
$result .= var_export($_SERVER, true);
return $result;
}
AddEventHandler("ws.fatalhandler", "OnError", 'dumpServer'); |
Пример сообщения оповещения об ошибке:

Где основной информацией является:
- сообщения интерпретатора об ошибке
- физический путь к файлу на сервере
- номер строки в файле
От проявления подобных проблем на рабочем ресурсе никто не застрахован, чаще всего это происходит в процессе наращивания функционала рабочего сайта. Поэтому очень важно быть уверенным в корректной обработке и мгновенной реакции на возникшую ситуацию как заказчику, так и разработчику ответственному за проект.