discuz3.4升级3.5问题汇总
本文结合自己在升级discuz系统时遇到的问题进行记录,查阅官方论坛资料和网上搜索,把流程记录下来。
0. 准备工作
如果你的网站已经上线,为了不影响线上业务,首先将网站复制到一个新的域名再进行升级测试,看是否有问题。
步骤如下:
- 新建一个域名;
- 绑定域名到服务器IP;
- 复制代码到服务器新的站点里面;
- 配置新的数据库账号信息,并导入之前系统的数据库内容;
- 修改代码中数据库配置信息。(一共要修改3个配置文件)
完成以上步骤后,分别打开网站首页和后台,查看是否网站正常运行。
打开后台,可能出现如下报错信息:
UCenter info: MySQL Query Error SQL:SELECT value FROM [Table]vars WHERE name='noteexists1'
Error:SELECT command denied to user 'root'@'localhost' for table 'pre_ucenter_vars' Errno:1142
以下是解决教程:
第一步:找到 config/config_ucenter.php 文件
第二步:将以下代码
define('UC_DBTABLEPRE', '`database20230101`.pre_ucenter_');
修改为
define('UC_DBTABLEPRE', '`这里修改为你的数据库名称`.pre_ucenter_');
好了,问题已经解决。
(问题原因,一般为ucenter的配置文件中的数据库连接信息没有修改过来)
Discuz! X3.2 - X3.4 升级至 Discuz! X3.5 详细教程
参考官方链接:Discuz! X3.2 - X3.4 升级至 Discuz! X3.5 详细教程 - Discuz! X 程序发布 - Powered by Discuz!
升级操作不可逆,操作前请完整备份网站文件和数据库(云服务器至少创建快照备份,最好多种方式备份),切勿不备份就升级,以免数据丢失。(如果备份的数据库文件未压缩时的大小远小于后台首页显示的大小,那一般是数据备份不完整,恢复这种备份可能导致数据丢失)
从 Discuz! X3.2 - X3.4 升级(GBK升级会自动转换到UTF8)
第一步 升级UCenter 1.6到1.7程序
1、确认UC通信正常,并下载X3.5最新版压缩包文件:Discuz! X3.5 正式版【2023-12-21】 - Discuz! X 程序发布 - Powered by Discuz!
2、备份数据库和程序文件,请不要忘记备份 UCenter 数据库和程序文件(云服务器快照备份,虚拟主机,进入主机管理里备份文件和数据库)。
3、 进入您的 UCenter 所在目录(默认为 论坛根目录/uc_server),建立文件夹 old,将 UCenter 目录下除 data 目录以外的其他文件夹移动进入 old 目录中。如移动文件中存在包括但不限于 .htaccess 或 .user.ini 等的网站配置文件,请不要移动。
即:
(1)创建 /uc_server/old/ 目录
(2)保留 /uc_server/data/ 目录不移动,把 /uc_server/