郑重提醒:没有修改过任何数据库字段的情况下可以使用此方法升级,请把服务器上的数据备份好,下载到本地待使用。
备份方法:进入后台选择:系统-系统设置-数据库备份/还原(默认的就是数据库备份了)-提交 等待数据库备份完毕后到” data/backupdata/”下载已经备份好的数据。
1、在本地安装测试环境(本人用的是软件“phpnow”,安装完后修改“hosts”( C:\WINDOWS\system32\drivers\etc)文件例如:127.0.0.1 www.xxxx.com,一定把本地测试环境配置的跟服务器上的一致,以免升级中出现不必要的错误!
2、下载DEDE5.6完整版: http://www.dedecms.com/products/dedecms/downloads/ 选择自己的格式
3、解压并复制安装文件到已安装好的测试环境里去,开始安装一个全新的DEDE5.6版本网站,谨记安装完后不要对”dede”目录进行任何的修改!
一、进入前台或后台都会提示[Fatal error: Call to undefined function parcv() in] 需要修改include/dedesql.class.php 此文件里的代码部分 修改如下:
找到如下代码:
if(isset($GLOBALS['arrs1']))
{
$v1 = $v2 = '';
for($i=0;isset($arrs1[$i]);$i++)
{
$v1 .= ParCv($arrs1[$i]);
}
for($i=0;isset($arrs2[$i]);$i++)
{
$v2 .= ParCv($arrs2[$i]);
}
$GLOBALS[$v1] .= $v2;
}
修改为:
if(isset($GLOBALS['arrs1']))
{
$v1 = $v2 = '';
for($i=0;isset($arrs1[$i]);$i++)
{
$v1 .= chr($arrs1[$i]);
}
for($i=0;isset($arrs2[$i]);$i++)
{
$v2 .= chr($arrs2[$i]);
}
$GLOBALS[$v1] .= $v2;
}
(其实上面需要修改的只是一个变量即可 就是把“ParCv”替换“chr” 一共两处)
修改完成后就可以进入后台了
二、 把下载备份好的数据库文件复制到已经安装好的测试程序相对应的目录下就可以了(data/backupdata/)
三、 在本地测试环境后台里恢复数据;
步骤如下:
系统-系统设置-数据库备份/还原
等待数据库还原好后。
四、到DEDE官网下载【地址:http://www.dedecms.com/products/dedecms/downloads/】V5.6到V5.7SP1GBK升级程序 解压后把文件复制到测试目录下需要全部覆盖所有文件!
五、执行 www.xxx.com/update/index.php 进入升级界面 需要把数据库备份哪项打上勾,点击继续,会提示相关错误不用理会,在继续会提示相关模块需要手动升级此项也不需要理会,在继续就升级完成了
六、登录后台 在此处点击 如图所示:
会提示一系列的5.7sp1升级文件要下载,点击下载等待完成即可!
七、升级后会有几个小问题
1、关键词”,”逗号用不了 解决方法
在文件dede/soft_edit.php里找到$arcRow=XSSClean($arcRow);$addRow=XSSClean($addRow);删除
2、发布人不显示解决方法
清空/data/tplcache 文件夹中的所有缓存文件,清空后发布人应该会显示了。
3、类目不显示解决方法
删除/data/cache/inc_catalog_base.inc 该文件,清空后类目应该会显示了。
八、TAG静态化问题:
附件里有详细的操作说明按照步骤来就可以完美实现!