关于静态缓存目录HTML_PATH 设置问题

浏览:2743 发布日期:2015/12/06 分类:技术分享 关键字: 静态缓存 HTML_PATH 未生效
最近想在自己的网站中使用静态缓存,按照官方配置了HTML_PATH,设置无效;网上也没有相关的解决办法,然后自己找了下源码进行修改,把解决方法给大家分享下,有什么不对的地方,可以提出。我的ThinkPhp版本是3.1.3,采用的是独立分组的模式。
ReadHtmlCacheBehavior中的define('HTML_FILE_NAME',  HTML_PATH. $rule . C('HTML_FILE_SUFFIX')); 改为:$htmlPath = C('HTML_PATH');
 if(empty($htmlPath)){
      $htmlPath = HTML_PATH;
}
define('HTML_FILE_NAME',  $htmlPath. $rule . C('HTML_FILE_SUFFIX'));
静态缓存配置如下:return array(
    'HTML_CACHE_ON' => true,
    'HTML_CACHE_TIME' => 0,
    'HTML_PATH' =>RUNTIME_PATH."Cache/".GROUP_NAME.'/Htmls/',
    'HTML_READ_TYPE' => 0,
    'HTML_CACHE_RULES'=>array(
        '*'=>array('{$_SERVER.REQUEST_URI|md5}'),
    )
);
简单说下我的理解,Dispatcher.class.php加载独立分组配置文件时,用C方法缓存了变量以及变量的值,跟define定义的HTML_PATH不一样。所以在生成静态页面的时候,发现自己在config.php里设置的配置未生效。
按照上面的代码修改后,指定静态缓存目录成功。
最佳答案
评论( 相关
后面还有条评论,点击查看>>