这是一个非常核心且常见的操作,但请务必小心,错误的修改可能导致网站无法访问或出现各种问题。

什么是 global.cfg 文件?
global.cfg 是 DedeCMS 的全局核心配置文件,它存储了网站运行所必需的最基本、最重要的配置信息,
- 数据库连接信息
- 网站安装目录
- 系统是否已安装
- 一些核心功能的开关
这个文件位于你网站的 /data/ 目录下,文件名通常是 common.inc.php(早期版本)或 global.cfg(较新版本),在绝大多数情况下,我们修改的是 /data/common.inc.php。
重要提示: /data/ 目录及其下的文件是 DedeCMS 的核心,包含了数据库密码等敏感信息。请务必确保你有服务器的文件管理权限或 FTP 权限,并且强烈建议在修改前先备份此文件。
为什么需要修改 global.cfg (common.inc.php)?
最常见的修改原因包括:

- 网站迁移:将网站从一台服务器迁移到另一台服务器,需要修改数据库连接信息。
- 忘记后台密码:通过直接修改数据库用户信息来重置密码。
- 修改网站目录:将网站从根目录移动到子目录(如从
example.com移动到example.com/myblog)。 - 开启/关闭调试模式:方便开发者排查问题。
- 修改网站名称(不推荐,通常在后台设置里改)。
如何修改 global.cfg (common.inc.php)?
以下是详细的步骤和常见修改项的说明。
第 1 步:备份文件(极其重要!)
在修改任何文件之前,请务必备份原始的 /data/common.inc.php 文件,你可以:
- 通过 FTP/SSH 将文件下载到本地。
- 在服务器控制面板的文件管理器中,右键文件选择“复制”或“下载”。
第 2 步:编辑文件
使用以下任一工具打开 /data/common.inc.php 文件进行编辑:
- 代码编辑器:如 VS Code, Sublime Text, Notepad++ 等(推荐使用 UTF-8 编码打开)。
- 服务器文件管理器:大多数虚拟主机控制面板都提供在线文件编辑器。
- FTP/SFTP 软件:下载后编辑,再上传回去。
第 3 步:进行具体修改
以下是文件中一些关键配置项及其说明:

数据库配置(最常用)
这是最核心的部分,通常在文件的开头。
//数据库连接信息 $cfg_dbhost = 'localhost'; // 数据库服务器地址,通常是 localhost $cfg_dbname = 'your_database_name'; // 你的数据库名称 $cfg_dbuser = 'your_database_user'; // 你的数据库用户名 $cfg_dbpwd = 'your_database_password'; // 你的数据库密码 $cfg_dbprefix = 'dede_'; // 数据库表前缀,默认是 dede_ $cfg_db_language = 'gbk'; // 数据库字符集,通常是 gbk 或 utf8
修改场景:网站迁移或忘记数据库密码时,你需要修改这四项:
$cfg_dbhost:新服务器的数据库地址。$cfg_dbname:新服务器的数据库名。$cfg_dbuser:新服务器的数据库用户名。$cfg_dbpwd:新服务器的数据库密码。
网站安装目录
这个变量告诉 DedeCMS 系统文件相对于根目录的位置。
//安装目录 $cfg_cmspath = '/'; // 网站根目录,通常为 '/'
修改场景:将网站移动到子目录时。
- 原情况:网站在根目录,
$cfg_cmspath = '/'; - 新情况:网站移动到
/blog/目录下,你需要修改为$cfg_cmspath = '/blog/';- 注意:修改后,你需要同时修改
/include/helpers/channelunit.helper.php文件中的第 45 行左右,将$cfg_cmspath改为$cfg_cmspath的值,以确保栏目链接正确。
- 注意:修改后,你需要同时修改
系统安装状态
这个变量用于标记系统是否已经安装,如果你误删了安装目录 /install/,可以通过修改这个变量来重新运行安装程序(不推荐,除非你知道后果)。
//系统安装标记 $cfg_installed = true; // true 表示已安装,false 表示未安装
调试模式
开启调试模式后,如果程序出错,页面会显示详细的错误信息,方便开发者定位问题。
//是否开启调试模式 $cfg_debug = false; // false 表示关闭,true 表示开启
修改场景:网站出现白屏或 500 错误,需要查看具体错误原因时,可以临时开启。
安全设置(重要!)
DedeCMS 有一个安全机制,会校验请求来源,如果你的网站使用了 CDN、代理或某些特定插件,可能会触发这个安全校验,导致后台无法登录或出现验证码。
//安全校验开关,开启后可以有效防止外部提交数据 $cfg_softname = 'DedeCMS'; $cfg_cookie_encode = '这里是加密字符串'; // 这个字符串是固定的,不要动 $cfg_adminsite = 'http://你的域名.com'; // 你的网站后台管理地址 $cfg_cookie_encode = ''; // 如果这里为空,则关闭了安全校验
修改场景:后台登录时频繁出现验证码或提示“安全验证”。
- 解决方案:可以将
$cfg_cookie_encode = '';这行代码前面的 注释符号去掉,或者直接清空里面的值。这会降低安全性,仅在确认是此问题导致时使用。
常见问题与注意事项
修改后网站打不开,提示“无法连接数据库”
- 原因:数据库配置信息(主机、用户名、密码、数据库名)填写错误。
- 解决:重新检查并确保
$cfg_dbhost,$cfg_dbuser,$cfg_dbpwd,$cfg_dbname四项完全正确。
修改后网站首页样式错乱,图片和链接无法显示
- 原因:网站目录配置
$cfg_cmspath错误。 - 解决:检查
$cfg_cmspath的值是否与你网站的实际目录一致,如果从根目录移到了子目录,除了修改这里,还需要修改/include/helpers/channelunit.helper.php文件。
文件编码问题
- 原因:用非 UTF-8 编码的编辑器(如 Windows 自带的记事本)保存了文件,导致 PHP 代码解析错误。
- 解决:始终使用支持 UTF-8 编码的代码编辑器(如 VS Code, Notepad++)来编辑 PHP 文件。
权限问题
- 原因:
/data/目录或common.inc.php文件的权限设置不正确。 - 解决:
- Linux 服务器:
/data/目录建议设置为755,common.inc.php文件建议设置为644。 - Windows 服务器:确保 IIS 或 Apache 对这些文件有“读取”权限。
- Linux 服务器:
修改后依然无效
- 原因:服务器有缓存,或者浏览器有缓存。
- 解决:
- 清理浏览器缓存。
- 如果使用了 PHP 加速器(如 OPcache),重启 PHP 服务或清空 OPcache。
- 检查服务器是否开启了页面缓存,如果开启,需要清空缓存。
修改 global.cfg (通常是 common.inc.php) 是 DedeCMS 管理中的高风险操作,请遵循以下原则:
- 备份!备份!备份! 这是最重要的第一步。
- 明确修改目的:清楚自己为什么要修改这个配置项。
- 小心谨慎:逐行检查,确保没有拼写错误或格式问题。
- 善用工具:使用专业的代码编辑器,避免使用不合适的工具。
- 了解后果:每个修改都可能带来连锁反应,提前预想可能出现的问题。
如果你不确定如何操作,最好先咨询有经验的人员或查阅官方文档。
