前一段时间发现分省的邮政编码系列网站首页常常会出现一个Views做的Block为空白的情况,例如北京邮政编码首页的“北京地市区县邮编”这一个Block里面没有内容,这样情况以前偶尔比较罕见会发生,例如几个月偶尔见到一次,但最近却成了经常的事情,每次重新清理该网站缓存会恢复,但1、2天后又出问题。
我用阿里云的网站监控设置了对该站首页每隔5分钟读取一次,如果发现没有应该存在的内容就报警,连续几天夜间准点开始报警,先以为是cron运行的结果,但时间不对,后来发现是巡检程序读取head和content的时候偶尔会这样,但具体原因依然不清楚,还是清理缓存后恢复,不久又出错。😢
这种情况持续太长了,上周下决心仔细排查,发现是modules中的14个views在出问题的网站中只剩下10个左右,而丢失的4个views中3个带有网址变量%,1个也有可访问固定网站,找出4个的共同点就是views里面head/foot带有php代码,一般是用于对当前网站进行判断以便控制显示内容。
这种views里面head/foot带php代码应该是允许的,以前也出现过缓存的问题,只要把render的缓存关闭就可以,这里也确实设置了render缓存为0但还是有这样的报错。不过只要查到问题所在的地方,具体原因不清楚也可以,再采取措施把views里面的php代码去掉,转移到相应新设置的block中就可以,新block对放置的网站进行适当设置就与views产生的页面中放置php代码的效果一样。😄
这样修改后观察了一周,再也没有出现监控报警了,这个问题应该是得到了解决。今天再检查其它Drupal 6搭建的系列网站,虽然也有views中带有php代码,但却没有发现这种问题,那也就暂时无需修改,继续观察看。这Drupal开源系统有的时候确实会出一些莫名其妙的问题,需要花费很多时间精力来排查。🤔
评论