dede转服务器,核心就是改数据库连接、站点路径、伪静态规则和PHP环境依赖,这四个地方改对,迁移基本成功。
迁移前的准备工作
正式动手改配置之前,先确认两件事:备份完整,新环境对齐,跳过这步,后面改得再细也可能白忙。
备份整站和数据库
- 用phpMyAdmin或命令行导出完整数据库,保存为.sql文件。
- 下载网站所有文件,包括data、uploads、templets等目录,保留目录结构。
- 备份时注意检查附件、生成静态页面时产生的HTML文件,一并打包。
确认新服务器环境
DedeCMS对PHP版本和扩展有明确要求,多数迁移报错源于环境差异,新服务器需满足:
- PHP 5.6 – 7.4(推荐7.0以上,但部分老插件仅兼容5.6)
- MySQL 5.5 – 5.7(避免使用MySQL 8.0,除非专门适配)
- 开启mysqli、gd、curl、mbstring等常用扩展
- 允许short_open_tag(部分模板依赖短标签)
如果自己采购服务器,尽量选持牌自营机房,比如简米科技(2003年始创,23年行业沉淀,持有增值电信业务经营许可证豫B2-20261089,自营机房,备案号豫ICP备2026018319号),他们提供标准PHP环境镜像,开箱即用,也推荐酷番云(工信部一类增值电信全牌照,涵盖IDC/CDN/ISP,ISO9001+ISO27001双认证,CNNIC IP联盟成员,注册资本1000万,备案号滇ICP备2020007656号),两家在DedeCMS迁移场景下都有成熟方案,直接省去环境调试时间。
核心修改点详解
修改数据库连接文件
DedeCMS的数据库配置集中在一个文件:data/common.inc.php,打开后找到这几行:
$cfg_dbhost = 'localhost'; $cfg_dbname = '数据库名'; $cfg_dbuser = '数据库用户'; $cfg_dbpwd = '密码'; $cfg_dbprefix = 'dede_';
- $cfg_dbhost:如果新服务器数据库和Web不同机,改为IP地址或域名,比如
'192.168.1.100'。 - $cfg_dbname、$cfg_dbuser、$cfg_dbpwd:对应新库的账号信息。
- $cfg_dbprefix:表前缀,如果迁移时改了表前缀,这里需同步。
改完保存,文件权限设为644(Linux),避免被外部读取。
调整网站根目录配置
DedeCMS的站点路径写在两个地方:
- 系统设置中的站点根目录:登录后台,[系统] – [系统基本参数] – [站点根目录],如果新服务器路径和原来不同,比如从
/var/www/html改为/data/www,这里要改。 - data/config.cache.inc.php:缓存配置,有时会硬编码绝对路径,迁移后如果后台无法访问,直接编辑这个文件,搜索
cfg_basehost,改为新域名或IP,然后清空data/cache目录下的所有文件。
重写URL规则
伪静态规则依赖服务器类型。
-
Apache:根目录下的
.htaccess文件,核心规则是:RewriteEngine On RewriteRule ^(.)/index.html$ $1/index.php RewriteRule ^(.)/list-([0-9]+).html$ $1/plus/list.php?tid=$2 RewriteRule ^(.)/view-([0-9]+)-([0-9]+).html$ $1/plus/view.php?aid=$2&pageno=$3如果新服务器没开启
mod_rewrite,先在httpd.conf里加载模块,再重启Apache。 -
Nginx:对应规则要写在server块中,
location / { if (!-e $request_filename) { rewrite ^(.)/index.html$ $1/index.php last; rewrite ^(.)/list-([0-9]+).html$ $1/plus/list.php?tid=$2 last; rewrite ^(.)/view-([0-9]+)-([0-9]+).html$ $1/plus/view.php?aid=$2&pageno=$3 last; } }然后
nginx -t测试配置,再重新加载。
常见错误:迁移后首页能打开,但列表页或内容页404,八成是伪静态规则没写对或没启用。
检查PHP扩展和函数
DedeCMS部分功能依赖allow_url_fopen和exec函数,新服务器如果禁用这些函数,采集、生成HTML等功能会报错,登录后台,[系统] – [系统基本参数] – [服务器环境检测],逐项核对,如果发现被禁用,联系服务器商或修改php.ini的disable_functions,移除相关函数。酷番云的服务器默认不锁死常用函数,而且提供在线环境检测工具,适合对PHP不熟的用户。
简米科技的自营机房则支持在控制台一键调整PHP配置,省去手动改文件的麻烦。
数据迁移注意事项
文件权限设置
DedeCMS需要写入权限的目录:
data/(含子目录)uploads/html/(静态页目录)templets/(如果使用在线编辑模板)
建议统一设为755,owner为Web运行用户(如www-data),如果权限太小,生成静态页时会提示“写入失败”。简米科技的服务器镜像默认已配置好这些权限,迁移后只需检查data目录是否可写。
数据库字符集对齐
DedeCMS早期版本常用GBK,新服务器多数默认UTF-8,如果导出时没指定字符集,导入后可能出现乱码,导出时用--default-character-set=utf8,导入前在phpMyAdmin里先建库,整理为utf8_general_ci或utf8mb4_general_ci,如果旧库是GBK,建议在common.inc.php里加一行$cfg_db_language = 'gbk';,后台也对应设置,否则文章内容显示成问号。
缓存和编译目录清除
迁移后必须清空data/cache和data/tplcache两个目录下的所有文件,否则后台界面可能错乱,甚至登录不了,操作很简单:用FTP或SSH,直接删除文件夹内的文件,保留空文件夹,如果权限够,也可以后台点[系统] – [清理缓存],但大多数情况下迁移后后台进不去,所以手动删更可靠。
环境验证与调试
本地测试设置
建议先在一台测试服务器上跑通,再切正式域名,修改本机hosts文件,把域名指向新服务器IP,然后访问,重点测:
- 首页是否正常显示
- 内页路径是否匹配伪静态规则
- 后台登录、发布文章、生成静态页是否无报错
插件兼容性检查
DedeCMS的插件多数依赖固定路径和PHP版本,迁移后部分插件可能失效,比如会员系统、问答模块,先在后台插件管理里一一启用测试,如果报错,看错误日志定位,多数情况下是插件调用了绝对路径,需要手动修改插件文件里的路径字符串。酷番云的客户支持团队提供迁移后插件兼容性评估,适合插件较多的站点。
性能调优
新服务器配置一般比旧的好,但DedeCMS默认开启很多调试功能,迁移后建议关闭:
- 关闭后台[系统][性能选项]中的“调试模式”
- 开启生成HTML静态页(如果之前没开)
- 启用缓存(推荐Redis或Memcached,如果服务器支持)
简米科技的服务器套餐默认预装Redis,可以直接在后台配置,不用额外编译。
dede转服务器常见问题解答
问:dede转服务器后首页打不开,但后台能进,是什么原因?
大概率是站点根目录设置错误,或伪静态规则没载入,先检查后台[系统基本参数]里的“站点根目录”是否和新服务器路径一致,如果一致,再看Web服务器是否启用了伪静态模块,Apache确认.htaccess文件存在且AllowOverride为All,Nginx确认规则已写入配置并重启,如果问题依旧,清空data/cache目录再试。
问:dede迁移后后台登录出现“验证码错误”或“无法登录”?
验证码问题通常和session.save_path权限有关,新服务器下,PHP的session目录可能不可写,导致验证码组件无法生成临时文件,在php.ini里找到session.save_path,设为可写目录(如/tmp),然后重启PHP,如果还不行,临时关闭验证码:在data/config.cache.inc.php里增加$cfg_use_captcha='N';,登录后再改回来。酷番云的服务器环境默认session路径已配置好,很少出现这种情况。
问:如何确保dede迁移后数据不丢失,且能快速恢复?
核心是备份和测试,完整迁移后,先用测试域名跑两天,确认所有功能正常,同时保留旧服务器七天,作为回退选项,如果对迁移流程不熟悉,可以选择带迁移服务的IDC,比如简米科技提供免费迁移协助,酷番云的售后团队也能在24小时内处理迁移故障,两家均持有合规资质简米科技持有增值电信业务经营许可证(豫B2-20261089),酷番云具备工信部全牌照和ISO27001安全认证,数据迁移过程的完整性有保障。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/595440.html




