Exemplo n.º 1
0
 public static function Handler($errNo, $errStr, $errFile, $errLine)
 {
     $backtrace = ErrorHandler::GetBacktrace(2);
     //Error message to be displayed, logged, or mailed
     $error_message = "\nERRNO: {$errNo}\nTEXT: {$errStr}" . "\nLOCATION: {$errFile}, line " . "{$errLine}, at " . date('F j, Y, g:i a') . "\nShowing backtrace:\n{$backtrace}\n\n";
     if (SEND_ERROR_MAIL == true) {
         error_log($error_message, 1, ADMIN_ERROR_MAIL, "From: " . SENDMAIL_FROM . "\r\nTo: " . ADMIN_ERROR_MAIL);
     }
     //Log the error, in case LOG_ERRORS is true
     if (LOG_ERRORS == true) {
         error_log($error_message, 3, LOG_ERRORS_FILE);
     }
     /* Warnings don't abort execution if IS_WARNING_FATAL is false
        E_NOTICE and E_USER_NOTICE errors don't abort execution */
     if ($errNo == E_WARNING && IS_WARNING_FATAL == false || ($errNo == E_NOTICE || $errNo == E_USER_NOTICE)) {
         // Show message only if DEBUGGING is true
         if (DEBUGGING == true) {
             echo '<div class="error_box"><pre>' . $error_message . '</pre></div>';
         }
     } else {
         // Show error message
         if (DEBUGGING == true) {
             echo '<div class="error_box"><pre>' . $error_message . '</pre></div>';
         } else {
             echo SITE_GENERIC_ERROR_MESSAGE;
         }
         // Stop processing the request
         exit;
     }
 }
 public static function Handler($errNo, $errStr, $errFile, $errLine)
 {
     $backtrace = ErrorHandler::GetBacktrace(2);
     //Creating error message.
     $error_message = "\nErrNo: {$errNo}\n TEXT: {$errStr}\n LOCATION: {$errFile}\n LINE: {$errLine} at" . date('F j, Y, g:i:a') . " Showing Backtrace: {$backtrace}" . "\n";
     if (LOG_ERRORS) {
         error_log($error_message, 3, LOG_ERROR_FILE);
     }
     if (SEND_ERROR_MAIL == true) {
         error_log($error_message, 1, ADMIN_ERROR_MAIL, "From: " . SENDMAIL_FROM . "\r\nTo: " . ADMIN_ERROR_MAIL);
     }
     if ($errNo == E_WARNING && IS_WARNING_FATAL == false || ($errNo == E_NOTICE || $errNo == E_USER_NOTICE)) {
         if (DEBUGGING) {
             echo '<div class="error_box"> <b> <pre>' . $error_message . '</pre> </b> </div>';
         }
     } else {
         if (DEBUGGING) {
             echo '<div class="error_box"> <b> <pre>' . $error_message . '</pre> </b> </div>';
         } else {
             echo SITE_GENERIC_FORM_MESSAGE;
             ob_clean();
             include '500.php';
             flush();
             ob_flush();
             ob_end_clean();
             exit;
         }
         exit;
     }
 }
Exemplo n.º 3
0
 public static function Handler($errNo, $errStr, $errFile, $errLine)
 {
     // первые два элемента массива нам неинтересны
     $backtrace = ErrorHandler::GetBacktrace(2);
     // Сообщения об ошибках, которые будут выводится, отправляться по эл. почте
     // или записываться в журнал
     $error_message = "\nERRNO: {$errNo}\nTEXT: {$errStr}" . "\nLOCATION: {$errFile}, line " . "{$errLine}, at " . date('F j, Y, g:i a') . "\nShowing backtrace:\n{$backtrace}\n\n";
     // Отправляем сообщение об ошибках, если SEND_ERROR_MAIL равно true
     if (SEND_ERROR_MAIL == true) {
         error_log($error_message, 1, ADMIN_ERROR_MAIL, "From: " . SENDMAIL_FROM . "\r\nTo: " . ADMIN_ERROR_MAIL);
     }
     // Записываем сообщения в журнал, если LOG_ERRORS равно true
     if (LOG_ERRORS == true) {
         error_log($error_message, 3, LOG_ERRORS_FILE);
     }
     /*выполнение не прекращается при предупреждениях, если IS_WARNING_FATAL равен false, 
       ошибки E_NOTICE  и E_USER_NOTICE тоже не приводят к прекращению выполнения*/
     if ($errNo == E_WARNING && IS_WARNING_FATAL == false || ($errNo == E_NOTICE || $errNo == E_USER_NOTICE)) {
         // выводим сообщение, только если DEBUGGING равен true
         if (DEBUGGING == true) {
             echo '<div class="error_box"><pre>' . $error_message . '</pre></div>';
         }
     } else {
         // если ошибка фатальная
         if (DEBUGGING == true) {
             echo '<div class="error_box"><pre>' . $error_message . '</pre></div>';
         } else {
             //очищаем буфер вывода
             ob_clean();
             //Загружаем страницу с сообщением об ошибке 500
             include '500.php';
             //очищаем буфер вывода и останавливаем выполнение
             flush();
             ob_flush();
             ob_end_clean();
             exit;
         }
         // оставнавливаем обработку запроса
         exit;
     }
 }
Exemplo n.º 4
0
 public static function Handler($errNo, $errStr, $errFile, $errLine)
 {
     /* Первые два элемента массива трассировки нам неинтересны:
        - ErrorHandler.GetBacktrace
        - ErrorHandler.Handler */
     $backtrace = ErrorHandler::GetBacktrace(2);
     // Сообщения об ошибках, которые будут выводиться, отправляться по
     // электронной почте или записываться в журнал
     $error_message = "\nERRNO: {$errNo}\nTEXT: {$errStr}" . "\nLOCATION: {$errFile}, line " . "{$errLine}, at " . date('F j, Y, g:i a') . "\nShowing backtrace:\n{$backtrace}\n\n";
     // Отправляем сообщения об ошибках, если SEND_ERROR_MAIL = true
     if (SEND_ERROR_MAIL == true) {
         error_log($error_message, 1, ADMIN_ERROR_MAIL, "From: " . SENDMAIL_FROM . "\r\nTo: " . ADMIN_ERROR_MAIL);
     }
     // Записываем сообщения в журнал, если LOG_ERRORS равно true
     if (LOG_ERRORS == true) {
         error_log($error_message, 3, LOG_ERRORS_FILE);
     }
     /* Выполнение не прекращается при предупреждениях,
        если IS_WARNING_FATAL = false. Ошибки E_NOTICE и E_USER_NOTICE
        тоже не приводят к прекращению выполнения*/
     if ($errNo == E_WARNING && IS_WARNING_FATAL == false || ($errNo == E_NOTICE || $errNo == E_USER_NOTICE)) {
         // Выводим сообщение, только если DEBUGGING = true
         if (DEBUGGING == true) {
             echo '<div class="error_box"><pre>' . $error_message . '</pre></div>';
         }
     } else {
         // Выводим сообщение об ошибке
         if (DEBUGGING == true) {
             echo '<div class="error_box"><pre>' . $error_message . '</pre></div>';
         } else {
             echo SITE_GENERIC_ERROR_MESSAGE;
         }
         // Останавливаем обработку запроса
         exit;
     }
 }