核心原则:先备份,再操作!
在开始任何操作之前,请务必备份你的网站,这包括:

(图片来源网络,侵删)
- 数据库备份:这是最重要的,包含了你所有的文章、栏目、会员、模型等数据。
- 网站文件备份:将你现有的网站根目录(通常是
public_html或www)的所有文件下载到本地。
第一步:准备工作
-
获取新的源码:
- 从官方或可靠的渠道下载你想要更换到的 DedeCMS 版本的源码,从 DedeCMS 官网下载最新版本。
- 重要提示:如果旧网站是修改过的二次开发版本,请确保你新下载的源码版本与旧版本的核心架构一致,否则数据库结构可能不兼容,导致转换失败,建议直接升级到官方最新稳定版。
-
准备 FTP/SFTP 客户端:
你需要一个 FTP 工具(如 FileZilla、FlashFXP 等)来连接你的服务器,上传和下载文件。
-
准备数据库管理工具:
(图片来源网络,侵删)你需要一个可以管理数据库的工具,cPanel 里的 phpMyAdmin,或者桌面客户端如 Navicat、SQLyog。
第二步:上传新的源码文件
这是更换源码的核心步骤,目标是把新程序文件放上去,但保留旧的数据。
-
连接服务器:使用 FTP 客户端登录你的服务器。
-
上传新源码:
- 方法一(推荐,最安全):将新下载的 DedeCMS 源码包解压到你的本地电脑。
- 通过 FTP 客户端,将解压后的新源码文件夹内的所有文件和文件夹(
dede、include、install、templets等)上传到你的网站根目录。 - 注意:如果新源码包是
.zip或.rar格式,你也可以直接将其上传到服务器根目录,然后在服务器控制面板(如 cPanel 的文件管理器)里进行解压,但这种方式可能因为服务器环境问题导致解压失败,所以本地解压再上传更稳妥。
-
处理旧文件:
- 在上传新文件的过程中,FTP 客户端会提示你“文件已存在,是否覆盖?”,请有选择性地覆盖。
- 需要覆盖的文件:绝大部分核心程序文件、模板文件、缓存文件等都应该被新文件覆盖,这些是构成网站框架的部分。
- 通常不需要覆盖的文件:
/data目录:这个目录包含了数据库配置文件config_database.php和缓存文件。强烈建议你不要覆盖这个目录,除非你明确知道你在做什么,保留旧目录可以确保网站能直接连接到原有的数据库。/uploads目录:这个目录存放了你网站上传的所有图片、附件等。绝对不要覆盖,否则所有上传的媒体文件都会丢失!/special目录:如果你的网站有专题,这个目录也建议保留。/member目录:会员目录,通常可以保留。
- 操作建议:最简单的方法是,先上传所有新文件,然后通过 FTP 客户端,删除旧源码中与
/data、/uploads、/special、/member目录同级的那些旧核心文件(index.php、list.php等),这样既保留了数据目录,又用新文件替换了旧文件。
第三步:处理数据库(关键步骤)
更换源码后,新程序可能无法直接连接到旧数据库,或者数据库结构发生了变化,需要进行修复。
-
检查数据库配置文件:
- 打开
/data目录下的config_database.php文件。 - 确认里面的数据库信息(主机名、用户名、密码、数据库名)是否正确,这个文件是你之前网站的备份,通常不需要修改。
- 打开
-
执行数据库升级/修复脚本:
- DedeCMS 在版本升级时,数据库结构可能会发生变化(例如新增字段、修改表结构)。
- 登录你的服务器控制面板(如 cPanel),找到 phpMyAdmin。
- 选择你的 DedeCMS 数据库。
- 在 phpMyAdmin 的顶部菜单栏,找到一个名为 “SQL” 或 “查询” 的选项卡,点击进入。
- 你需要找到新源码包中附带的 SQL 升级脚本,这个文件通常位于
/install目录下,名字可能类似update.sql或dedecms_v5_to_v6.sql等。 - 打开这个 SQL 文件,将其中的所有内容复制下来。
- 粘贴到 phpMyAdmin 的 SQL 查询输入框中。
- 点击 “执行” 按钮。
- 这个脚本会自动检测并更新你的数据库表结构,使其与新版本的程序兼容。这一步至关重要,如果跳过,网站很可能会出现各种意想不到的错误。
第四步:完成安装和最终检查
-
删除安装目录:
- 数据库升级完成后,务必通过 FTP 删除服务器根目录下的
/install目录,这是一个安全措施,防止他人恶意利用。
- 数据库升级完成后,务必通过 FTP 删除服务器根目录下的
-
清除缓存:
- 登录你的 DedeCMS 后台。
- 进入 “系统” -> “SQL命令行工具”。
- 在输入框中执行
TRUNCATE TABLE dede_arccache;和TRUNCATE TABLE dede_homecache;(如果你的版本有这些缓存表),这可以清除旧的缓存文件,避免缓存导致页面显示异常。 - 或者,直接通过 FTP 删除
/data目录下的cache目录下的所有文件。
-
前台和后台测试:
- 前台测试:在浏览器中访问你的网站域名,检查首页、栏目页、文章页、图片列表等是否正常显示,点击所有链接,确保没有 404 错误。
- 后台测试:访问
你的域名/dede/,使用你的管理员账号登录后台,检查各项功能是否正常,比如发布文章、管理栏目、上传图片等。
常见问题与解决方案
-
问题1:网站打开一片空白,或者报错。
- 原因:通常是数据库结构不兼容,或者缓存问题。
- 解决:回到第三步,确保正确执行了 SQL 升级脚本,然后清除缓存,再检查。
-
问题2:后台登录后,页面显示混乱或功能异常。
- 原因:模板文件或后台程序文件未正确覆盖,或者数据库权限问题。
- 解决:检查
/dede目录下的文件是否被完整覆盖,如果问题依旧,可以尝试重新上传一次核心后台文件。
-
问题3:图片/附件无法显示。
- 原因:
/uploads目录权限不正确,或者数据库中附件的路径记录有问题。 - 解决:通过 FTP 检查
/uploads目录及其子目录的权限,确保是 755,如果路径有问题,可能需要进入数据库的dede_archives表,手动修改litpic(缩略图)和body(正文)中的图片路径。
- 原因:
-
问题4:网站无法进入安装界面(意外触发了安装)。
- 原因:
/data目录下的config.cache.inc.php文件可能丢失或权限不正确。 - 解决:检查该文件是否存在,权限是否为 644,如果文件不存在,可以从备份中恢复,或者重新生成一个。
- 原因:
更换源码流程清单
- [ ] 备份数据库和网站文件。
- [ ] 下载并解压新源码。
- [ ] 通过 FTP 上传新源码到网站根目录。
- [ ] 有选择性地覆盖文件,保留
/data、/uploads等重要数据目录。 - [ ] 登录 phpMyAdmin,执行新源码中的 SQL 升级脚本。
- [ ] 删除服务器上的
/install目录。 - [ ] 清除网站缓存。
- [ ] 测试网站前台和后台所有功能。
遵循以上步骤,你就可以安全、顺利地完成 DedeCMS 网站的源码更换,祝你好运!
