在我使用WordPress的时候,因为WordPress都是动态的,打开速度感人!为了优化速度,WordPress提供了为动态页面生成静态化的插件WP Super Cache插件,中文名叫超级缓存!
实际上,我们PHPCMS V9也有这样的功能,只是有BUG,使用不了,所以进行了修复,方法如下:
/phpcms/libs/functions/global.func.php文件里找到如下两个函数:
cache_page_start
cache_page
两个函数整体更换为:
/**
* 读取缓存动态页面
*/
function cache_page_start() {
$relate_url = isset($_SERVER['REQUEST_URI']) ? safe_replace($_SERVER['REQUEST_URI']) : $php_self.(isset($_SERVER['QUERY_STRING']) ? '?'.safe_replace($_SERVER['QUERY_STRING']) : $path_info);
define('CACHE_PAGE_ID', md5($relate_url));
$contents = getcache(CACHE_PAGE_ID, 'page_tmp');
if($contents && intval(substr($contents, 15, 10)) > SYS_TIME) {
echo substr($contents, 29);
exit;
}
if (!defined('HTML')) define('HTML',true);
return true;
}
/**
* 写入缓存动态页面
*/
function cache_page($ttl = 360, $isjs = 0) {
if($ttl == 0 || !defined('CACHE_PAGE_ID')) return false;
$contents = ob_get_contents();
if($isjs) $contents = format_js($contents);
$contents = "<!--expiretime:".(SYS_TIME + $ttl)."-->\n".$contents;
setcache(CACHE_PAGE_ID, $contents, 'page_tmp');
}
这样就修复了动态页面缓存功能!使用方法如下:
cache_page_start();
模板引用函数
cache_page(120);
120为缓存有效期,单位为秒
比如在内容控制器/phpcms/modules/content/index.php里的show方法里找到
include template('content',$template);
在其上面增加:
cache_page_start();
下面增加:
cache_page(120);
首次访问内容的动态地址,就会生成缓存文件,存放在/caches/caches_page_tmp文件夹里,再次访问,就先读取缓存了
周涛博客








不好玩,不能取消点赞
让你能取消还得了
竟然没有图标圆点提示
什么图标圆点提示