电脑技术学习

帝国CMS5.1升级6.0常见问题索引

dn001

1、升级时提示以下信息

Duplicate entry '10' for key 1
alter table ***_enewsmemberadd add todayinfodate varchar(10) NOT NULL default '', add todayaddinfo int(11) not null default '0', add todaydate varchar(10) NOT NULL default '', add todaydown int(11) not null default '0', add regip varchar(20) NOT NULL default '', add authstr varchar(30) NOT NULL default '', DROP INDEX userid, add PRIMARY KEY(userid);

原因:phome_enewsmemberadd表有重复用户ID的记录导致。
解决办法:用phpmyadmin进数据库删除phome_enewsmemberadd表重复ID的记录,查找方法可以用
“select * from phome_enewsmemberadd group by userid
SQL命令查找重复的ID,只要有重复的都会连续显示,只保留其中一条记录将多余的重复记录删除。
删除重复记录后按升级说明里的“重新升级说明步骤重新升级

2、升级时提示
Table 'phome_ecms_news_data_1' already exists
CREATE TABLE `***_ecms_news_data_1` ( `id` int(11) NOT NULL default '0', `classid` smallint(6) NOT NULL default '0', PRIMARY KEY (`id`), KEY `classid` (`classid`) ) ENGINE=MYISAM DEFAULT CHARSET=gbk

原因:6.0的表已经存在,可能是因为重复升级或者原来安装6.0测试版后没有删除6.0表就直接安装帝国5.1致使表遗留下来。
解决办法:
(1)、如果是重复升级导致,按升级说明里的“重新升级说明步骤操作
(2)、如果是先安装6.0测试版再装5.1,按升级说明里的“重新升级说明步骤操作,恢复数据库后对比5.1版数据表,把多余的6.0表删除,再运行e/update/index.php重新升级。


3、如果升级后管理信息提示以下信息
Warning: Division by zero in /e/class/functions.php on line 66

原因:升级时文件e/class/config.php和e/class/user.php等文件权限不是777或读写权限导致
解决办法:按升级说明里的“重新升级说明步骤重新升级就能解决。


4、升级提示“升级程序不能重复运行
原因:重复运行升级程序或从多个版本一路升级
解决办法:关掉当前窗口,打开新的窗口运行。


附:重新升级步骤
如果出现服务器意外导致升级失败可以按下面方法重新升级:
1、先删除数据库中帝国CMS的所有数据表。(防止表已经存在)
2、恢复备份的数据库。
3、恢复备份的e/class/config.php和e/class/user.php文件。
4、打开新的IE窗口重新升级即可。

标签: