核心文件位置
织梦CMS的数据库连接信息主要存储在以下两个文件中:

(图片来源网络,侵删)
-
主配置文件 (推荐修改):
/data/common.inc.php -
旧版配置文件 (不推荐修改):
/include/common.inc.php
重要提示:对于绝大多数情况,你只需要修改 /data/common.inc.php 这个文件。/include/common.inc.php 在新版中通常是主配置文件的引用,直接修改它可能会导致问题。
解析
打开 /data/common.inc.php 文件,你会看到类似下面的代码:

(图片来源网络,侵删)
<?php //数据库连接信息 $cfg_dbhost = 'localhost'; //数据库主机 $cfg_dbname = 'dedecms_v57'; //数据库名 $cfg_dbuser = 'root'; //数据库用户名 $cfg_dbpwd = 'your_password'; //数据库密码 $cfg_dbprefix = 'dede_'; //数据表前缀 $cfg_db_language = 'utf8'; //数据库语言版本 //将你数据库的信息填入上面的变量中 ?>
让我们逐行解释这些变量的含义:
| 变量名 | 含义 | 说明 |
|---|---|---|
$cfg_dbhost |
数据库主机地址 | 这是你数据库服务器的地址,通常为 localhost(表示和网站在同一台服务器上),如果数据库在远程服务器,则需要填写服务器的IP地址或域名。 |
$cfg_dbname |
数据库名称 | 你在MySQL/MySQLi中为织梦创建的数据库名。 |
$cfg_dbuser |
数据库用户名 | 用于连接数据库的用户名。 |
$cfg_dbpwd |
数据库密码 | 对应用户名的密码。这是最重要的敏感信息,请务必保护好此文件。 |
$cfg_dbprefix |
数据表前缀 | 数据库中所有织梦相关表的前缀,如果前缀是 dede_,那么文章表就是 dede_archives,栏目表就是 dede_arctype,修改前缀可以增强安全性,避免与其他程序的表冲突。 |
$cfg_db_language |
数据库字符集 | 数据库的字符集,强烈建议使用 utf8 或 utf8mb4(如果需要支持Emoji等特殊字符)。 |
如何修改数据库连接信息
当你需要更换服务器、修改数据库信息或进行网站迁移时,就需要修改这个文件。
步骤 1:获取新的数据库信息
在开始之前,请确保你已经从你的虚拟主机提供商或服务器管理员处获得了以下信息:
- 数据库主机地址
- 数据库名称
- 数据库用户名
- 数据库密码
- (可选)新的数据表前缀
步骤 2:编辑 common.inc.php 文件
- 通过FTP/SFTP连接:使用你的FTP工具(如FileZilla、Xftp等)连接到你的网站服务器。
- 定位文件:进入网站的根目录,然后进入
data文件夹,找到common.inc.php文件。 - 下载并备份:在修改之前,务必先下载这个文件到本地进行备份,以防修改出错时可以恢复。
- :使用代码编辑器(如VS Code、Notepad++、Sublime Text等)打开
common.inc.php文件。 - 更新变量值:将文件中的
$cfg_dbhost,$cfg_dbname,$cfg_dbuser,$cfg_dbpwd等变量的值,替换成你新的数据库信息。 - 保存文件:保存修改后的文件。
- 上传回服务器:将修改后的文件通过FTP上传回服务器的
/data/目录,覆盖原文件。
步骤 3:设置文件权限(非常重要!)
为了网站安全,common.inc.php 文件不应该对所有人可写,上传后,请确保其权限设置正确。
- Linux服务器:通常设置为
644(所有者可读写,组和其他用户只读)。 - Windows服务器:确保 "Authenticated Users" 和 "Users" 组没有 "修改" 或 "完全控制" 权限。
如何设置权限(以FileZilla为例):
右键点击 common.inc.php 文件 -> 文件权限 -> 勾选 Owner 的 Read 和 Write,勾选 Group 和 Others 的 Read -> 点击 "OK"。
常见问题与解决方法
问题:网站无法打开,提示 "无法连接数据库" 或 "Database Error"
-
原因:
- 数据库信息(用户名、密码、数据库名)填写错误。
- 数据库主机地址不是
localhost(例如是0.0.1或一个IP)。 - 数据库用户没有访问指定数据库的权限。
- 数据库服务本身未启动。
common.inc.php文件权限不正确(例如被设置为777,可能导致被篡改或读取失败)。data目录权限不正确,导致Web服务器无法读取common.inc.php文件。
-
解决方法:
- 仔细核对所有数据库信息,确保没有拼写错误。
- 联系主机商确认正确的数据库主机地址。
- 在phpMyAdmin中检查用户权限,确保该用户有对
$cfg_dbname数据库的 "所有权限"。 - 检查服务器状态,确保MySQL/MariaDB服务正在运行。
- 将
common.inc.php和data目录的权限设置为安全的644和755。
问题:网站后台能登录,但前台所有页面都空白或显示乱码
-
原因:
- 数据库连接信息中的 字符集 设置不正确。
- 数据库中的数据编码与网站编码不一致(例如数据库是
gbk,网站是utf8)。
-
解决方法:
- 检查
$cfg_db_language的值,确保它与你网站使用的编码一致(现代网站推荐使用utf8)。 - 如果数据编码不匹配,需要使用phpMy导出数据,转换编码后再导入,这是一个比较复杂的过程,最好的办法是在安装时就统一使用UTF-8。
- 检查
安全建议
- 修改默认表前缀:在安装织梦时,就建议将数据表前缀从默认的
dede_修改为一个随机、复杂的字符串(如abc_或myweb_),这可以有效防止利用已知前缀进行SQL注入攻击。 - 保护好
data目录:确保data目录的权限设置为755,并且不要将其Web目录设置为可执行,很多虚拟主机控制面板有“保护目录”功能,可以启用。 - 定期备份:定期备份你的网站文件和数据库,以防万一。
希望这份详细的指南能帮助你理解和操作织梦的数据库连接文件!
