今日详细介绍的非插件拿下wordpress生成静态缓存文档方式,就可以为大伙儿除掉这款强劲的wordpress缓存插件WP Super Cache的应用
谈起wordpress生成静态缓存得话最先想起的便是WP Super Cache插件,的确这般,大部分的wordpress网站站长们都会应用.
可是始终都是有这些担心极致派的人,讨厌用插件的人也十分的多,而今日详细介绍的非插件拿下wordpress生成静态缓存文档方式,就可以为大伙儿除掉这款强劲的wordpress缓存插件WP Super Cache的应用!
最先说下,WP Super Cache的原理吧,该插件的Mod_rewrite加速方式加速实际效果很好,由于这类方式是立即将网址的网页页面生成静态的html网页页面,随后应用Mod_rewrite将要求分享到静态文档,那样就绕过了php分析这一步立即将网页页面吐出来到电脑浏览器,进而做到加速的实际效果。
而今日详细介绍的实例教程,基本上和上边的原理同样,再相互配合CDN等加速类的应用得话,实际效果将十分的显著,加速100%啊!
实际操作实例教程
PHP Code拷贝內容到剪贴板
- <?php
- define(‘CACHE_ROOT’, dirname(__FILE__).‘/cache’);
- define(‘CACHE_LIFE’, 86400); //缓存文档的生命周期,企业秒,86400秒是一天
- define(‘CACHE_SUFFIX’,‘.html’); //缓存文档的后缀名,千万不要用 .php .asp .jsp .pl 这些
- $file_name = md5($_SERVER[‘REQUEST_URI’]).CACHE_SUFFIX; //缓存文件夹名称
- //缓存文件,依据md5的前俩位把缓存文档分散化开。防止文档太多。假如必须,可以用第三四位之名,再加一层文件。
- //256个文件每一个文件1000个文档得话,便是25万只网页页面。双层文件得话便是65536*1000=六千五百万。
- //不必让单独文件超过1000,以防危害特性。
- $cache_dir = CACHE_ROOT.‘/’.substr($file_name,0,2);
- $cache_file = $cache_dir.‘/’.$file_name; //缓存文档储放途径
- if($_SERVER[‘REQUEST_METHOD’]==‘GET’){ //GET方法要求才缓存,POST以后一般都期待见到全新的結果
- if(file_exists($cache_file) && time() – filemtime($cache_file) < CACHE_LIFE){ //假如缓存文档存有,而且沒有到期,就把它读出。
- $fp = fopen($cache_file,‘rb’);
- fpassthru($fp);
- fclose($fp);
- exit();
- }
- elseif(!file_exists($cache_dir)){
- if(!file_exists(CACHE_ROOT)){
- mkdir(CACHE_ROOT,0777);
- chmod(CACHE_ROOT,0777);
- }
- mkdir($cache_dir,0777);
- chmod($cache_dir,0777);
- }
- function auto_cache($contents){ //回调函数,当程序流程完毕时全自动启用此涵数
- global $cache_file;
- $fp = fopen($cache_file,‘wb’);
- fwrite($fp,$contents);
- fclose($fp);
- chmod($cache_file,0777);
- clean_old_cache(); //生成新缓存的另外,全自动删掉全部的老缓存。以节省室内空间。
- return $contents;
- }
- function clean_old_cache(){
- chdir(CACHE_ROOT);
- foreach (glob(“*/*”.CACHE_SUFFIX) as $file){
- if(time()-filemtime($file)>CACHE_LIFE){
- unlink($file);
- }
- }
- }
- ob_start(‘auto_cache’); //回调函数 auto_cache
- }
- else{
- if(file_exists($cache_file)){ //file_exists() 涵数查验文档或文件是不是存有。
- unlink($cache_file); //并不是GET的要求就删掉缓存文档。
- }
- }
- ?>
编码里都是有注解,将编码储存为cache.php文件,随后将其放进网址的根下,谨记,是网址网站根,非wordpress主题风格的网站根!随后给网址网站根建立个cache文件夹名称,给与777的载入管理权限
随后将编码
复制代码编码以下:
require(‘cache.php’);
放进网站根的index.php的<?php之后
那样,便会全自动的在cache文档里生成静态文档了,随后大伙儿能够相互配合七牛的加速给与cache文档加速,实际效果将可以有很显著的加速!