discuz!7.2升级discuzX3.2,流程文档(有二次开发)

来源:互联网 发布:差不多先生知乎 编辑:程序博客网 时间:2024/04/30 01:43

由于官方给出的教程大多需要备份原来的数据库以防升级失败,风险较高,所以本教程不论升级成功与否,对原来的discuz数据库是完全没有影响的。

如果discuz与第三方站点有同步登陆等联系的,升级之前需要先将discuz与第三方站点解绑,保证discuz关闭后对与之关联的第三方站点没有影响。

示例为discuz!7.2_FULL utf-8版本升级至discuzX3.2版本(其他版本思路一样)

整体思路是:将discuz!7.2的所有数据升级至discuzX3.2版本的数据,然后将已经二次开发好的基于discuzX3.2程序连接至升级后的数据库即可。

具体步骤:

1.全新安装DiscuzX2(此过程会新建一个X2版的数据库);

然后转换数据(discuz!7.2 --> discuzX2),拷贝utility下的convert文件夹至根目录,在浏览器中输入“根URL/convert”进行数据转换,

数据源填写信息填写原7.2的数据库信息,下面的目的库填写刚新建的X2的数据库信息,点击保存进行转换,直至完成(此过程没有转换ucenter数据,即XX_ucenter_xx表的数据)。

转换ucenter数据,进入原7.2论坛》管理中心》ucenter》数据备份,然后将原7.2 uc_server》data》backup下面刚刚备份的文件夹拷贝到X2论坛uc_server》data》backup下面,打数据开X2论坛uc_server》data》backup下面备份的sql文件,编辑,修改表名前缀,如:“d72_uc_”全部替换成“dx2_ucenter_”,保存,进入X2论坛管理中心》ucenter》数据备份》数据恢复,此时原7.2ucenter所有的数据就都过来了。

将discuzX2添加至X2的ucenter管理中心;使用原7.2ucenter的管理员登陆X2以继续操作,进入管理中心》ucenter》应用管理,这里列出的就是原7.2的应用,删除,然后添加新应用.......将X2添加到ucenter中,添加完,通讯成功之后,需要点击该应用右侧的编辑,拖到最底下,将该应用的ucenter配置信息拷贝然后覆盖X2相应的配置,此时如果没出什么问题,论坛已成功升级到了X2版本。

拷贝附件(论坛图片和用户头像);将7.2 attachments下所有文件拷贝到X2 data\attachment\forum下面, 将7.2 uc_server\data\avatar下面的所有文件拷贝到X2 的 uc_server\data\avatar下面上面的完成之后,需要检查一下:论坛帖子,用户,论坛帖子内图片,用户头像等数据是否正常,然后检查修改用户头像功能是否正常(很重要)。

2.升级X2至X3.2;在X2根目录下新建一个文件夹oldbbs,将除config,data,uc_client,uc_server之外的所有文件剪切到oldbbs中,将discuzX3.2 upload下的所有文件拷贝到X2跟目录下,覆盖,将X3.2utility下的update.php拷贝到X2 install目录下面(修改update.php,319行增加:if($key == "username") $value = "char(150) NOT NULL DEFAULT '' ";),删除其中的index.php,然后编辑update.php,找到:if(version_compare($version, '1.5.2') <= 0) ,将“<=”修改为“>=”(update时会提示ucenter版本低,其实已经是1.6)。然后在浏览器中输入:”X2论坛url”/install/update.php,数据升级完成,如果没出什么问题,论坛已经成功升级到discuzX3.2版本。最后,将我们开发好的基于discuz3.2的二次开发版连接到刚刚升级完的数据库上面,修改三个地方的配置文件:config/config_global.php,config/config_ucenter.php,uc_server/data/config.inc.php:将刚刚X2下面的config文件拷贝过来覆盖我们二次开发程序下的config文件夹,编辑config文件件下config_ucenter.php,将uc_api修改为二次开发后对应的地址,拷贝刚刚X2下uc_server/data/config.inc.php覆盖二次开发程序下对应的文件,修改uc_server/data/config.inc.php中的uc_key。然后重复附件拷贝的操作。

3.没有问题之后,删除oldbbs文件夹、convert文件夹和install下的updata.php文件。大功告成!!!

此过程对原来的discuz7.2的数据库完全没有影响,如果升级失败,直接切回原来的数据就行。

可行性:本公司线上discuz论坛已使用本方案成功升级,没有问题。



0 0
原创粉丝点击