运维-转换/升级/搬家¶
1. 转换¶
为了满足更多站长顺利过渡到 Discuz! (UCenter)平台,进一步完善数据迁移工作改进易用度,现正式向各位推荐 XConvert 转换程序!该转换程序可以转换目前所有常见的论坛程序,想转换到 Discuz! 的用户再也不用到处找适合自己的各种转换程序了。现在所有的论坛只需要使用 XConvert 就都可以顺利转换到 Discuz!(UCenter) 中来。
| 问题 | 当前情况 |
|---|---|
| ❓ Discuz! 目前是否还使用 XConvert? | ❌ 不再推荐使用,工具已停更多年,主要用于 X2 → X3 过渡 |
| ❓ 是否仍需“转换程序”迁移数据? | ✅ 需要,但需采用 手动方案或专用插件 |
| ❓ 是否适用所有论坛平台? | ❌ 不适用,XConvert 仅支持老牌论坛如 phpBB、vBulletin、DZ 早期版 |
2. 升级¶
Discuz! 从 X3.2 开始,其核心架构趋于稳定,版本间升级主要是文件替换 + 数据结构更新,不再通过 update.php 工具完成。
新版升级过程采用如下“半自动 + 半手工”方式进行:
升级流程总览(X3.x → X3.5)¶
# 1. 备份操作(不可跳过)
mysqldump -uroot -p haiwaidata > /root/xxxxdata_backup.sql # 备份数据库
tar -czvf discuz_code_backup.tar.gz /var/www/html/xxxxxxweb # 备份原站代码
# 2. 下载新版本 Discuz!(如 X3.5)
https://www.dismall.com/thread-3840694-1-1.html # 官方发布帖
解压后,将 upload 目录中的文件替换旧站代码,保留 config/ 和 data/ 等目录
# 3. 执行数据库升级脚本
访问:http://your-domain.com/utility/dbupgrade.php # 从 X3.4 开始提供 dbupgrade 替代旧 update.php
该脚本会自动完成字段新增、索引修改等结构升级
# 4. 清除缓存
删除以下目录内容:
rm -rf data/cache/* data/template/* uc_server/data/cache/* uc_client/data/cache/*
# 5. 登录后台检查版本
后台 → 工具 → 更新缓存 → 检查插件兼容性
# 6. 删除升级脚本
rm -f utility/dbupgrade.php # 删除升级入口,避免被利用
升级策略建议(2025 年版本)¶
| 场景 | 推荐方式 |
|---|---|
| X3.4 → X3.5 | ✅ 原地替换 + dbupgrade.php 脚本 |
| X3.2/X3.3 → X3.5 | ✅ 分版本升级,建议:X3.2 → X3.4 → X3.5 |
| X2.5 → X3.x | ❌ 不建议直接升级,建议新站部署 + 数据导入 |
| 老版本(如 DZ7.2)→ X3.5 | ❌ 不适用升级 |
3. 搬家¶
2025 年最新版 Discuz! 搬家操作标准流程(适用于 X3.4 / X3.5)¶
定义“搬家”¶
Discuz! 搬家 = 站点整合迁移至新服务器,包括:
- 程序文件(HTML/PHP/模板/插件/附件等)
- 数据库数据(包括 UCenter 和 Discuz 主库)
- 配置文件(如 config_global.php、uc_server/config.inc.php)
标准搬家流程(适用于 Linux + Nginx + MariaDB 环境)¶
# 1️⃣ 关闭论坛访问,防止数据变动
后台设置 → 全局 → 关闭站点 # 或手动设置 config/config_global.php 中 $_config['admincp']['runquery'] = '0';
# 2️⃣ 导出数据库(推荐使用 mysqldump)
mysqldump -uroot -p --default-character-set=utf8 xxxxxxdata > /backup/xxxdata.sql # 逻辑导出,兼容性最好
# 3️⃣ 打包网站文件(Discuz 安装目录)
cd /var/www/html/
tar -czvf discuz_site.tar.gz xxxxweb/ # 压缩网站目录
# 4️⃣ 将备份文件传输到新服务器
scp /backup/xxxxdata.sql root@new-server:/root/
scp discuz_site.tar.gz root@new-server:/var/www/html/
# 5️⃣ 在新服务器中解压并恢复
cd /var/www/html/
tar -xzvf discuz_site.tar.gz
mysql -uroot -p -e "CREATE DATABASE xxxxxdata DEFAULT CHARSET utf8mb4;" # 创建数据库
mysql -uroot -p xxxxdata < /root/haiwaidata.sql # 导入数据库数据
# 6️⃣ 检查配置文件路径并修改
vi /var/www/html/xxxxweb/config/config_global.php # 修改数据库连接信息(如本地地址、密码等)
vi /var/www/html/xxxxweb/uc_server/data/config.inc.php # 修改 UCenter 连接信息(若更换域名/IP)
# 7️⃣ 检查 PHP 扩展、文件权限、伪静态规则
php -m | grep gd # 确保图像处理扩展安装
chown -R www-data:www-data /var/www/html/xxxxxweb # 设置权限
chmod -R 755 /var/www/html/xxxxweb
# 8️⃣ 清空缓存目录
rm -rf data/cache/* data/template/* uc_server/data/cache/* uc_client/data/cache/* # 防止路径错误导致显示异常
# 9️⃣ 绑定域名,重启服务
nginx -t && systemctl reload nginx
systemctl restart php-fpm mariadb
总结:2025 年 Discuz! 搬家标准方式¶
| 项目 | 推荐做法 |
|---|---|
| 数据导出 | mysqldump |
| 程序打包 | tar.gz 压缩 |
| 传输方式 | scp / rsync |
| 数据导入 | mysql < backup.sql |
| 后台配置调整 | 修改 config 文件 |
| 缓存清理 | 删除 data/cache/ 等 |