所有分类
  • 所有分类
  • 其它

thinkphp3.2生成网站静态缓存文件的实战操作教程

为了提高网站的浏览速度,我们需要对网站的一些页面进行静态化处理,如果是使用thinkphp开发的网站,可以让网页生成静态缓存文件(其实就是真实的静态文件,文件名和文件路径均可自定义),下面讲一下生成静态缓存的方法:
找到ThinkPHP/ThinkPHP.php,根据自身需求,设置下面的参数,一般HTML_PATH的路径可以设置成跟缓存文件同一个位置,这样清空缓存的同时也清空生成的静态缓存文件。
找到这一句:defined(‘HTML_PATH’)    or define(‘HTML_PATH’, APP_PATH.’Html/’);
修改成:defined(‘HTML_PATH’)    or define(‘HTML_PATH’, ‘Runtime/Html/’); // 应用静态目录

网站制作文件

 
 在前台的ApplicationHomeConfconfig.php配置文件里设置静态缓存的参数:
‘HTML_CACHE_ON’     =>    true,//是否开启静态缓存,只有开启了才会生成静态缓存文件
         ‘HTML_PATH’         => ‘Html’,//比较奇怪的是,在这里设置是无效的,需要在ThinkPHP/ThinkPHP.php文件里设置HTML_PATH,目前还没找到原因所在
    ‘HTML_CACHE_TIME’   =>    0,  
    ‘HTML_FILE_SUFFIX’  =>    ‘.html’, //生成的静态文件的后缀
    ‘HTML_CACHE_RULES’  =>     array(     // 定义静态缓存规则
    ‘index:’ => array(Index/{:action}’),//控制器,方法
         ‘global:index’ => array(‘Global/index’),
         ‘about:index’ => array(‘About/about_{id}’),//{id}即$_GET[‘id’]
         ‘solution:info’ => array(‘Solution/info_{id}_{sid}’),  
)
生成的静态缓存文件如下图所示:

静态缓存文件

 
文件夹里面都是生成的html静态文件,用户浏览网站时相当于浏览里面的静态文件,这样浏览速度会快很多。
 
接下来是清除缓存文件: 删除文件夹内所有子文件夹和文件,下面是调用方法:
$dirs = array(‘Runtime/Html/’);//需要清除缓存的文件夹
        foreach ($dirs as $value) {
         rmdirr($value);//开始清除缓存
    }
下面是rmdirr方法的截图如下:
 

代码

 
抛出可能会存在的的问题:
问题1:清除缓存后,会把有的静态缓存文件都删除了,前台需要打开浏览一次才能重新生成,是不是可以只删除更新的网页?
问题2: 如果是一般的企业网站,页面比较少的,可以在清除缓存的同时,自动生成静态缓存文件(利用PHP程序模似打开前台页面,就可以生成静态缓存了,如果栏目页面比较多的话,可以分栏目生成静态缓存文件),也许没必要这样,因为第一次浏览会慢一些,但之后再浏览已是静态文件。

社交账号快速登录