dede更新出现:读取频道信息失败,无法进行后续操作

来源:互联网 发布:江西网络问政 编辑:程序博客网 时间:2024/05/02 02:11

今天小编在做dede二次开发的时候 ,使用一个现成的数据库 在更新的时候就出现了读取频道信息失败,无法进行后续操作!
提示字眼

下面小编整合下,一些常用的解决办法 和自己最终的解决办法
1、dede后台一键更新网站的时候出现了“读取频道信息失败,无法进行后续操作!”。在网上查找后说在后台”系统”-“系统错误修复[S] “进行操作,可是没有解决。

2、 分类进行更新
进行分别更新, 可是小编还是没有解决
于是,小编按耐不住自己浮躁的心情, 阅读了下, dede的代码于是 问题自然而然的就暴露出来啦~

我想,这时候,不怎么懂程序的站长,就郁闷了, 我看不懂代码怎么办?
没关系。 接下来就看图操作吧
1.打开dede(你后台的目录地址)/mackhtml_archives_action.php
然后找到

1
2
3
4
5
6
7
while($row=$dsql->GetObject('out'))
{
    $tjnum++;
    $id = $row->id;
    $ac = new Archives($id);
    $rurl = $ac->MakeHtml($isremote);
}

注:小编的在第106行

把这段代码更换为

1
2
3
4
5
6
7
8
9
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 (注意, 新手在删除之前,要先提前备份好数据库,小编不负责你误操作引起的后果!)

然后后台在更新 就一切ok!

还有一件事情,不要忘了。把dede(你后台的目录地址)/mackhtml_archives_action.php 中的刚刚修改过的这段代码

1
2
3
4
5
6
7
8
9
while($row=$dsql->GetObject('out'))
{
    $tjnum++;
    $id = $row->id;
    echo $id;
    echo "";
    $ac = new Archives($id);
    $rurl = $ac->MakeHtml($isremote);
}

还替换为原来最初的

1
2
3
4
5
6
7
while($row=$dsql->GetObject('out'))
{
    $tjnum++;
    $id = $row->id;
    $ac = new Archives($id);
    $rurl = $ac->MakeHtml($isremote);
}

好了 ,大功告成了!

3、 还有一种问题可能由于 \data\cache\inc_catalog_base.inc 没有777权限导致的! 把这个文件的权限调整为 everyone 777 即可!

0 0