/** * handle */ public static function handle() { if ($error = error_get_last()) { $md5key = md5(json_encode($error)); if (FCache::S($md5key)) { return; } if (isset(self::$errtype[$error['type']])) { $error['type'] = self::$errtype[$error['type']]; if (isset($error['message']) && stripos($error['message'], 'SQLSTATE')) { $error['sql'] = Yod::db()->lastQuery(); } $error['trace'] = debug_backtrace(); } // http_filter foreach (Errlog::$http_filter as $key => $rules) { if (empty($_SERVER[$key])) { continue; } foreach ($rules as $value) { if (strripos($_SERVER[$key], $value) !== false) { return; } } } FCache::S($md5key, $error, 1800); Errlog::sendlog($error); } }