$headers = $this->cache->get($this->key . "headers"); if ($headers !== false) { foreach (json_decode($headers) as $header) { header($header); } } echo $output; exit; } } public function end() { $output = ob_get_clean(); // 缓存输出的头信息 // 但是忽略404 500 的请求request don't cache it $headers = headers_list(); if (strlen($output) > 0 && self::$enable && !in_array("Status: 404 Not Found", $headers) && !in_array("Status: 500 Server Internal Error", $headers)) { if (!empty($headers)) { $this->cache->set($this->key . 'headers', json_encode($headers)); } $this->cache->set($this->key, $output); } echo $output; } } $key = $_SERVER['REQUEST_URI']; $cache_dir = defined('TIPI_CACHE_DIR') ? TIPI_CACHE_DIR : null; $cache = new SimpieCache($cache_dir); $page_cache = new PageCache($key, $cache); $page_cache->start();