今日详细介绍的非插件拿下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拷贝內容到剪贴板

  1. <?php   
  2. define(‘CACHE_ROOT’, dirname(__FILE__).‘/cache’);   
  3. define(‘CACHE_LIFE’, 86400);                   //缓存文档的生命周期,企业秒,86400秒是一天   
  4. define(‘CACHE_SUFFIX’,‘.html’);             //缓存文档的后缀名,千万不要用 .php .asp .jsp .pl 这些   
  5. $file_name  = md5($_SERVER[‘REQUEST_URI’]).CACHE_SUFFIX;    //缓存文件夹名称   
  6. //缓存文件,依据md5的前俩位把缓存文档分散化开。防止文档太多。假如必须,可以用第三四位之名,再加一层文件。   
  7. //256个文件每一个文件1000个文档得话,便是25万只网页页面。双层文件得话便是65536*1000=六千五百万。   
  8. //不必让单独文件超过1000,以防危害特性。   
  9. $cache_dir  = CACHE_ROOT.‘/’.substr($file_name,0,2);   
  10. $cache_file = $cache_dir.‘/’.$file_name;    //缓存文档储放途径   
  11. if($_SERVER[‘REQUEST_METHOD’]==‘GET’){      //GET方法要求才缓存,POST以后一般都期待见到全新的結果   
  12.     if(file_exists($cache_file) && time() – filemtime($cache_file) < CACHE_LIFE){   //假如缓存文档存有,而且沒有到期,就把它读出。   
  13.         $fp = fopen($cache_file,‘rb’);   
  14.         fpassthru($fp);   
  15.         fclose($fp);   
  16.         exit();   
  17.     }   
  18.     elseif(!file_exists($cache_dir)){   
  19.         if(!file_exists(CACHE_ROOT)){   
  20.             mkdir(CACHE_ROOT,0777);   
  21.             chmod(CACHE_ROOT,0777);   
  22.         }   
  23.         mkdir($cache_dir,0777);   
  24.         chmod($cache_dir,0777);   
  25.     }   
  26.     function auto_cache($contents){         //回调函数,当程序流程完毕时全自动启用此涵数   
  27.         global $cache_file;   
  28.         $fp = fopen($cache_file,‘wb’);   
  29.         fwrite($fp,$contents);   
  30.         fclose($fp);   
  31.         chmod($cache_file,0777);   
  32.         clean_old_cache();                  //生成新缓存的另外,全自动删掉全部的老缓存。以节省室内空间。   
  33.         return $contents;   
  34.     }   
  35.     function clean_old_cache(){   
  36.         chdir(CACHE_ROOT);   
  37.         foreach (glob(“*/*”.CACHE_SUFFIX) as $file){   
  38.            if(time()-filemtime($file)>CACHE_LIFE){   
  39.                unlink($file);   
  40.            }   
  41.         }   
  42.     }   
  43.     ob_start(‘auto_cache’);                 //回调函数 auto_cache   
  44. }   
  45. else{   
  46.     if(file_exists($cache_file)){           //file_exists() 涵数查验文档或文件是不是存有。   
  47.         unlink($cache_file);                //并不是GET的要求就删掉缓存文档。   
  48.     }   
  49. }   
  50. ?>  

编码里都是有注解,将编码储存为cache.php文件,随后将其放进网址的根下,谨记,是网址网站根,非wordpress主题风格的网站根!随后给网址网站根建立个cache文件夹名称,给与777的载入管理权限

随后将编码

复制代码编码以下:
require(‘cache.php’);

放进网站根的index.php的<?php之后
那样,便会全自动的在cache文档里生成静态文档了,随后大伙儿能够相互配合七牛的加速给与cache文档加速,实际效果将可以有很显著的加速!

作者 网络

发表评论

您的电子邮箱地址不会被公开。