Beispiel #1
0
 /**
  * 自定义错误处理
  *
  * @param int $errno 错误类型
  * @param string $errstr 错误信息
  * @param string $errfile 错误文件
  * @param int $errline 错误行数
  * @return void
  */
 public static function _errorHandle($errno, $errstr, $errfile, $errline)
 {
     if (($errno & error_reporting()) == $errno) {
         restore_error_handler();
         restore_exception_handler();
         $trace = debug_backtrace();
         unset($trace[0]["function"], $trace[0]["args"]);
         log_message('error', 'Severity: ' . Base_Error::get_name($errno) . '  --> ' . $errstr . ' ' . $errfile . ' ' . $errline, TRUE);
         if (IS_CLI) {
             printf(Base_Error::get_name($errno) . ': ' . $errstr . ' in ' . $errfile . ' on line ' . $errline);
         } else {
             Core::debug()->error(Base_Error::get_name($errno) . ': ' . $errstr . ' in ' . $errfile . ' on line ' . $errline);
             if (!IS_AJAX) {
                 // Ajax请求不显示错误页面
                 Base_Error::halt(Base_Error::get_name($errno) . ':' . $errstr, $errfile, $errline, $trace);
             }
         }
     }
 }