升级Discuz 到 X3.4 - 支持php7.0 - 转换GBK到UTF-8 - 添加https访问

客户要求,将现有的Discuz论坛模式更换,因为“交互式”网站审核很严格。

曾考虑将Discuz转换到CMS类的程序,转了一圈,没有现成的。网上建议是通过Discuz的RSS功能,导入到WordPress。但论坛的帖子多,且多数是带图片的附件,Discuz自带的RSS功能有限,此方法不通。

再搜索,有网友曾写php脚本,直接从Discuz的数据库里往WordPress发文章,测试了一下,是从portal里的文章数据表读取内容发到wordpress的,本例是纯论坛,没有门户,此方法也不通。

登录到论坛后台,启用门户,将楼主的帖子生成文章(551个文章)。安装模板,将forum.php重定向到portal.php,仅保留门户首页、文章列表及文章内容的静态化。之后,将 Discuz! X3.2 Release 20150609 升级到了 Discuz! X3.2 Release 20160601 ,同时启用了https访问。强制http跳转https后,门户频道链接会死循环,需要修改/source/module/portal/portal_list.php文件内容。

到此,客户基本满意了。

延伸,想将原备份的数据升级到X3.4,因为需要支持php7。发现discuz.net不提供X3.4版本的安装程序,需要到“码云”网站下载(如果没有码云账号还需要注册新账号或用第三方账号关联登录),下载后发现没有GBK版本的,需要使用提供的工具自行将UTF8版本的转为GBK。这里尝试的操作顺序,是在php5.4环境中,将X3.2升级到了X3.4,再通过Discuz后台的数据库备份功能导出utf-8的数据库文件。最后在php7.0环境中新安装discuz x3.4,及在后台导入备份的数据库文件。发现的问题是,在新站会员登录时提示mysql用户被拒绝,搜索得,需确认conf/config_ucenter.php文件中的信息正确。未解决的问题是,discuz后的“文件校验”功能,显示两百多个被修改的文件,和缺失六十多个文件。

在php7.0环境中,测试https访问,discuz首页和会员登录正常。

discuz-1.png
图1:搬站后,会员登录提示错误,Error:SELECT command denied to user Errno:1142 ,错误信息中没有包含数据库名称信息

discuz-2.png
图2:conf/config_ucenter.php 文件中的 UC_DBTABLEPRE 中的数据库名称不符合实际情况

discuz-3.png
图3:https访问,discuz后台正常

discuz-4.png
图4:https访问,discuz前台也正常

参考:

标签: discuz

添加新评论