织梦更新出现:读取频道信息失败,无法进行后续操作!终极解决方法。下面整合一些常用的解决办法和自己最终的解决办法。
一、后台一键更新网站的时候出现了“读取频道信息失败,无法进行后续操作!”。在网上查找后说在后台"系统"-"系统错误修复[S] "进行操作,可是没有解决。
二、 分类进行更新
如图所示 进行分别更新, 可是小编还是没有解决
于是,小编按耐不住自己浮躁的心情, 阅读了下, dede的代码,于是问题自然而然的就暴露出来啦~
我想,这时候,不怎么懂程序的站长,就郁闷了, 我看不懂代码怎么办?
没关系。 接下来就看详细步骤的操作方式吧
1.打开dede(你后台的目录地址)/mackhtml_archives_action.php
然后找到while($row=$dsql->GetObject('out'))
{
$tjnum++;
$id = $row->id;
$ac = new Archives($id);
$rurl = $ac->MakeHtml($isremote);
} 注:小编的在第106行
把这段代码更换为
while($row=$dsql->GetObject('out'))
{
$tjnum++;
$id = $row->id;
echo $id;
echo "
";
$ac = new Archives($id);
$rurl = $ac->MakeHtml($isremote);
}
然后在进入后台更新 ,这个时候,小编就发现, 在“ 读取频道信息失败,无法进行后续操作! ”提示信息的上面的最后一行数字是116
这个时候小编打开dede的数据库 打开表dede_arctiny 然后发现此表中 id为 116的这条数据记录中的 ‘typeid’是71
原来问题在这里啊!这个编号为71的栏目被小编删除了,但是删除的同时,dede并没有删除栏目下的文章,所以就出现无法读取频道信息的问题! 这个时候,我们手动把此条记录删除即可!如果这个栏目下之前发的不止是一个文章 就进入phpmyadmin 执行sql语句DELETE FROM 你的表前缀_arctiny WHERE typeid =这条错误记录的栏目id (注意, 新手在删除之前,要先提前备份好数据库!)然后后台在更新!
还有一件事情,不要忘了。把dede(你后台的目录地址)/mackhtml_archives_action.php 中的刚刚修改过的这段代码
while($row=$dsql->GetObject('out'))
{
$tjnum++;
$id = $row->id;
echo $id;
echo "
";
$ac = new Archives($id);
$rurl = $ac->MakeHtml($isremote);
}
还替换为原来最初的
while($row=$dsql->GetObject('out'))
{
$tjnum++;
$id = $row->id;
$ac = new Archives($id);
$rurl = $ac->MakeHtml($isremote);
}
好了 ,大功告成了!
三、 还有一种问题可能由于 datacacheinc_catalog_base.inc 没有777权限导致的! 把这个文件的权限调整为777权限即可!