/** * 自定义错误处理 * * @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); } } } }