系统搬家后或在系统还原后,重新更新栏目或文件的时候,有时会出现这样的错误提示:没有该栏目数据 可能缓存文件(data/cache/inc_catalog_base.inc)没有更新 请检查是否有写入权限
这时大家都去改文件或文件夹的写入权限,一般会去改成777或755,但实际上这并不管用。其实解决方法很简单,只要做到以下三步,即可
1. 把inc_catalog_base.inc缓存文件删掉
2. 更新系统缓存,点“生成——>更新系统缓存——>开始执行”就可以了
3. 然后重新生成栏目,就不会出现错误提示了。我之前的网站80后的我们(ww.80hou.us) 就是这样解决的。
(此图片来源于网络,如有侵权,请联系删除! )
一、1. 把inc_catalog_base.inc缓存文件删掉
2. 更新系统缓存,点“生成——>更新系统缓存——>开始执行”就可以了
3. 然后重新生成栏目,就不会出现错误提示了
这个方法我没有试,不知道能不能解决。。。。我按第二种方法执行完第一步就成功了。
二、尝试一般性的解决方案:
1.在网站管理后台,点击左侧“核心”——“网站栏目管理”,进入栏目管理,在右上方找到“更新栏目缓存”,点击,更新缓存,提示“操作成功,正在返回……”;
开始以为这样更新一下缓存,就可以了,谁知,再次生成栏目html,依然提示“没有该栏目数据, 可能缓存文件(/data/cache/inc_catalog_base.inc)没有更新, 请检查是否有写入权限”。于是,于是开始进一步的尝试:
2.登录ftp,找到data/cache目录,删掉inc_catalog_base.inc文件,然后重复1的操作,刷新ftp的data/cache目录,inc_catalog_base.inc出现,说明是有写入权限的;
再次点生成栏目html,依然提示“没有该栏目数据, 可能缓存文件(/data/cache/inc_catalog_base.inc)没有更新, 请检查是否有写入权限”……很顽固,便想到肯定是8月3日的这次更新出了什么问题,于是,开始根据生成html的makehtml_list.php文件开始搜集线索,一一查验文件,最后发现,原来是dede目录下的config.php在本次更新中,被织梦的工作人员不小心给改错了,在此教大家如何改回来这个错误:
3.打开dede目录(织梦系统的后台管理目录),找到config.php文件打开,查找第86行:
$fp1Header = "<{$phph}phprnglobal $_Cs;rn$_Cs=array();rn";
修改为:
$fp1Header = "<{$phph}phprnglobal $cfg_Cs;rn$cfg_Cs=array();rn";
4.继续向下,到第90行:
fwrite($fp1,"$_Cs[{$row->id}]=array({$row->reid},{$row->channeltype},{$row->issend});rn");
修改为:
fwrite($fp1,"$cfg_Cs[{$row->id}]=array({$row->reid},{$row->channeltype},{$row->issend});rn");
5.保存文件,进入后台,重复1的操作更新栏目缓存,然后点击生成栏目html,不在提示错误了,栏目正常生成。