迁移前核心准备工作
环境与工具确认
帝国CMS是基于PHP+MySQL架构的开源建站系统,迁移核心环节为文件打包、数据库导出、新环境部署导入三个步骤,需要提前确认以下要求:
- 源服务器要求:支持压缩打包,拥有数据库操作权限,剩余存储空间不小于当前网站全量数据的1.2倍,行业实操数据显示,预留2倍存储空间可将打包失败率从17%降至1%以下
- 目标服务器要求:PHP版本、数据库版本与源环境保持一致,帝国CMS7.5版本推荐PHP5.6-7.4、MySQL5.5+,提前完成基础环境配置与域名解析绑定
- 必备工具:服务器SSH工具(Xshell、Putty)、FTP/SFTP工具(FileZilla)、数据库管理工具(PHPMyAdmin、Navicat)
数据备份与安全校验
迁移操作前必须完成全量数据备份,避免操作失误导致不可逆的数据丢失。
核心备份内容:网站根目录所有程序、附件、模板文件,完整的MySQL数据库导出文件。
备份完成后需要校验文件MD5值,数据库导出文件大小与源数据库实际大小误差不超过0.5%即为有效备份,校验通过后才可执行后续操作。
标准迁移操作步骤
源端数据打包导出
帝国CMS数据分为程序文件和数据库两部分,分别执行导出操作:
- 程序文件打包:登录源服务器,进入网站根目录上级目录,执行tar打包命令:
```
tar -zcvf empirecms_site.tar.gz 你的网站根目录名
```
如果使用虚拟主机无命令权限,可通过FileZilla全量下载后本地打包,或通过虚拟主机面板在线打包。
- 数据库导出:推荐使用命令行导出,稳定性远高于可视化工具,10G以下数据库导出成功率可达99.9%,执行命令:
```
mysqldump -u数据库用户名 -p 数据库名 > empirecms_db.sql
```
输入数据库密码后即可完成导出,超过10G的大数据库建议添加
--quick --single-transaction参数避免锁表。使用可视化工具Navicat/PHPMyAdmin导出时,需勾选「添加drop表」「使用十六进制保存blob」选项。
数据传输到目标服务器
打包后的文件优先通过服务器内网传输或SSH直传,传输速度比FTP高3-10倍,且不会出现文件损坏问题。

跨服务商迁移场景下,可先将打包文件上传到临时存储,再通过目标服务器wget命令直接下载,指令为:
```
wget https://你的临时下载地址/empirecms_site.tar.gz
```
传输完成后需要再次校验文件MD5,和源端文件一致才可继续操作,避免传输过程中文件损坏。
目标端部署导入
- 程序文件解压:将打包文件上传到目标服务器网站根目录上级,执行解压指令:
```
tar -zxvf empirecms_site.tar.gz
```
解压完成后配置网站根目录权限,设置uploads、e/config、cache目录权限为755,部分环境需要设置为777,避免附件无法上传。
- 数据库导入:在目标服务器创建新数据库,字符集设置和源数据库一致(通用为utf8mb4),执行导入命令:
```
mysql -u目标库用户名 -p 目标库名 < empirecms_db.sql
```
- 配置文件修改:打开目标服务器网站根目录下的
e/config/config.php,修改数据库连接信息:
```
//数据库配置信息
$dbconfig['dbhost'] = 'localhost'; //数据库地址,一般为localhost
$dbconfig['dbname'] = '你的新数据库名';
$dbconfig['dbuser'] = '你的数据库用户名';
$dbconfig['dbpw'] = '你的数据库密码';
```
- 域名地址替换:迁移后更换域名,可登录帝国CMS后台,进入「系统设置-替换域名」功能,批量替换旧域名地址为新域名,也可执行SQL命令批量替换,不同模型表名需要对应调整:
```
UPDATE phome_ecms_news SET newstext=REPLACE(newstext, '旧域名', '新域名');
UPDATE phome_ecms_data_1 SET newstext=REPLACE(newstext, '旧域名', '新域名');
```
迁移后校验与常见问题排查
迁移结果核心校验项
- 前端网站页面是否正常打开,图片、附件能否正常访问
- 后台能否正常登录,文章编辑、附件上传功能是否正常
- 会员登录、投稿等动态交互功能是否正常,业务数据是否完整
- 统计数据库中文章总数、附件总数,确认和源端数据一致
常见问题排查方案
- 打开网站提示数据库连接错误:排查config.php中数据库用户名、密码、库名是否填写错误,数据库账户权限是否正常,本地环境额外排查数据库端口是否正确。
- 图片全部不显示:排查附件目录权限是否正确,检查域名替换是否完整,确认附件文件完整传输,排查文件路径是否返回404错误。
- 后台登录提示验证码错误:清空/cache目录下所有文件,检查data目录权限是否正确,可临时修改config.php中
$phome['checkcode']=0;关闭验证码验证,登录成功后再重新开启。
- 大数据库导入超时:改用命令行导入,或修改PHP配置文件中max_execution_time参数,也可拆分数据库文件分块导入。
迁移安全与注意事项
所有迁移操作建议先在测试环境验证,确认所有功能正常后再切换域名解析,避免提前切量影响用户正常访问。
必须保留源服务器完整数据至少7天,待迁移后网站运行7天、所有业务场景验证稳定无误,再删除源端数据,规避数据丢失风险。
迁移过程中禁止直接修改源端生产数据,若迁移期间有用户发布新内容,迁移完成后需要单独同步增量数据,避免最新内容丢失。
迁移完成后需要及时更新SSL证书配置,清理网站缓存,测试所有页面的HTTPS访问状态。