织梦(dedecms)的5.6UTF-8版本,在8月3日最后一次更新后,不少用户发现,在后台更新栏目html的时候,会出现“没有该栏目数据, 可能缓存文件(/data/cache/inc_catalog_base.inc)没有更新, 请检查是否有写入权限”的提示。
上社站长也遭遇到了这个困境,尝试一般性的解决方案:
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}php\r\nglobal \$_Cs;\r\n\$_Cs=array();\r\n";
修改为:
$fp1Header = "<{$phph}php\r\nglobal \$cfg_Cs;\r\n\$cfg_Cs=array();\r\n";
4.继续向下,到第90行:
fwrite($fp1,"\$_Cs[{$row->id}]=array({$row->reid},{$row->channeltype},{$row->issend});\r\n");
修改为:
fwrite($fp1,"\$cfg_Cs[{$row->id}]=array({$row->reid},{$row->channeltype},{$row->issend});\r\n");
5.保存文件,进入后台,重复1的操作更新栏目缓存,然后点击生成栏目html,不在提示错误了,栏目正常生成。
如此,织梦系统(DEDECMS)5.6UTF-8版本8月3日更新的错误便得到了修正,“没有该栏目数据, 可能缓存文件(/data/cache/inc_catalog_base.inc)没有更新, 请检查是否有写入权限”错误提示的问题也就不存在了。