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; } }
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; } }
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; } }