`
isiqi
  • 浏览: 16065362 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

公司首页改版进行时....现在是下午。"见鬼事件“

阅读更多

discuz 6.1 版本。

然后呢。新上传了一个”新春版“的首页。然后再下午4点准时替换 index.php,新版上线。

谁知道呢。在看新版本页面的时候出现了个现象。就是

游客看任然是旧页面。而登陆后呢却能看到新页面。。。 进到DZ后台更新了数据缓存和模板缓存都不行。

荤菜了

急呀

最后想不到问题只能看代码了。

打开 index.php 我看到这一段

才发现~~原来如此。

主要看这两个参数: $cacheindexlife && !$discuz_uid

第一个是页面cache 事件,后台设置。 第二个是 用户ID。只要用户登录了才有数值。也就是说如果 用户没登陆而且又设置了页面cache事件。那么进入到这个逻辑里面。。。。

然后再看下面的条件就明白了

if($timestamp - $indexcache['filemtime'] > $cacheindexlife) {

} elseif($indexcache['filename']) {

看这两个。

如果创建的的页面cache文件的创建 时间大于 定义的页面cache 时间后就会删除页面cache 文件。从而使用新的页面cahe 文件。 否则如果页面cache 文件存在呢,就会去读 页面cache 文件然后返回。而新版本的页面还没上线,而旧版本就给用户不断的使用。从而导致旧版本页面"很难”过期

怪不得,没有登录的用户只能看到旧版本页面了。

解决最简单的办法。 进入DZ后台把页面cache 设置为 0 ,然后在上线。然后等旧版本的页面CACHE过期,再进DZ后台开启页面cache 。。就OK了

就因为这个问题~~导致中午要在公司吃烧腊饭~~~

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics