这个文件是织梦CMS的核心配置文件,它定义了网站连接数据库所必需的所有信息,可以说,只要这个文件存在并且配置正确,你的织梦网站就能正常访问数据库,从而展示内容。

(图片来源网络,侵删)
文件位置
这个文件通常位于你织梦网站的根目录下,路径为:
/include/common.inc.php
它和 /data/common.inc.php 文件作用不同,后者是安装时生成的加密配置文件,而 /include/common.inc.php 是明文配置文件,也是我们通常用来修改数据库配置的文件。
文件核心内容解析
打开 common.inc.php 文件,你会看到类似下面的代码,我们逐行解释其含义:
<?php //数据库连接信息 $cfg_dbhost = 'localhost'; //数据库服务器 $cfg_dbname = 'dedecmsv57'; //数据库名 $cfg_dbuser = 'root'; //数据库用户名 $cfg_dbpwd = ' ''; //数据库密码 $cfg_dbprefix = 'dede_'; //数据表前缀 $cfg_db_language = 'gbk'; //数据库编码,通常不需要修改 ?>
$cfg_dbhost = 'localhost';
- 解释:数据库服务器地址。
- 值:
localhost:表示数据库和网站程序在同一台服务器上,这是最常见的情况。- 如果数据库在另一台独立的服务器上,这里应该填写那台服务器的IP地址或域名,
168.1.100或db.yourdomain.com。
$cfg_dbname = 'dedecmsv57';
- 解释:你要连接的数据库名称。
- 值:这个值是在你通过如 phpMyAdmin 等工具创建数据库时设定的,你可能创建了一个名为
my_website_data的数据库,那么这里就应该填写my_website_data。
$cfg_dbuser = 'root';
- 解释:连接数据库所使用的用户名。
- 值:这是你在创建数据库后,为该数据库分配的一个访问用户,在本地开发环境中,默认用户名通常是
root,在生产环境中,出于安全考虑,应该创建一个有特定权限(如仅对dedecmsv57数据库有读写权限)的普通用户,而不是使用root。
$cfg_dbpwd = '';
- 解释:连接数据库所使用的密码。
- 值:对应上面
$cfg_dbuser的用户密码。这是一个极其重要的安全项,请务必设置一个复杂的密码,并妥善保管,如果这里为空,数据库将不设密码,存在巨大的安全风险。
$cfg_dbprefix = 'dede_';
- 解释:数据表前缀。
- 值:织梦CMS在数据库中创建的所有表名都会以此开头,文章表名为
dede_archives,栏目表名为dede_arctype。 - 为什么需要前缀?
- 防止冲突:如果你在一个数据库中安装了多个织梦网站(或与其他程序共用数据库),不同的前缀(如
dede_,myweb_)可以确保表名不会互相覆盖。 - 安全:在一定程度上可以防止一些基于默认表名的SQL注入攻击。
- 防止冲突:如果你在一个数据库中安装了多个织梦网站(或与其他程序共用数据库),不同的前缀(如
- 修改:在安装织梦时可以选择,安装后修改会比较麻烦,需要手动修改数据库和配置文件。
$cfg_db_language = 'gbk';
- 解释:数据库的字符集。
- 值:
gbk:简体中文GBK编码。utf8:UTF-8编码,国际通用编码,支持多语言。
- 注意:这个值必须与你在创建数据库时选择的字符集完全一致,如果网站后台显示乱码,或者存入数据库的中文变成问号 ,90% 的原因是这里与数据库实际字符集不匹配。
文件的重要性与常见问题
核心地位
common.inc.php 是织梦CMS的“生命线”,只要这个文件存在且配置正确,即使你删除了网站所有程序文件(除了这个文件),理论上你仍然可以通过这个文件连接到数据库,并备份数据。

(图片来源网络,侵删)
常见问题:Fatal error: Access denied for user '...'
- 原因:数据库连接失败。
- 排查步骤:
- 检查用户名和密码:
$cfg_dbuser和$cfg_dbpwd是否填写正确,注意大小写和空格。 - 检查数据库主机:
$cfg_dbhost是否正确,如果是本地,localhost通常没问题,但有时可能需要改为0.0.1。 - 检查数据库用户权限:确保你的数据库用户(如
root)对你指定的数据库($cfg_dbname)有SELECT,INSERT,UPDATE,DELETE等权限。 - 检查数据库服务:确保你的数据库服务(如MySQL, MariaDB)正在运行。
- 检查用户名和密码:
常见问题:网站后台显示乱码
- 原因:网站程序编码与数据库编码不一致。
- 排查步骤:
- 检查
$cfg_db_language的值。 - 登录 phpMyAdmin,查看你的数据库、数据表以及字段的字符集是否与
$cfg_db_language的值一致,如果这里配置的是utf8,那么数据库的字符集也应该是utf8mb4或utf8_general_ci。
- 检查
安全性建议
- 设置文件权限:为了安全,建议将
common.inc.php的文件权限设置为640或600,这意味着只有文件所有者(通常是Web服务器用户,如www-data或apache)可以读写,而其他用户(包括网站访问者)没有任何权限,这可以有效防止黑客通过服务器漏洞下载这个文件,从而获取你的数据库密码。 - 使用非默认用户:不要在生产环境中使用
root用户连接数据库,为织梦创建一个低权限的专用数据库用户。
| 配置项 | 作用 | 常见值 | 重要性 |
|---|---|---|---|
$cfg_dbhost |
数据库服务器地址 | localhost |
高 |
$cfg_dbname |
数据库名称 | your_db_name |
高 |
$cfg_dbuser |
数据库用户名 | root (本地) / user_dede (生产) |
高 |
$cfg_dbpwd |
数据库密码 | your_strong_password |
极高 |
$cfg_dbprefix |
数据表前缀 | dede_ |
中 |
$cfg_db_language |
数据库编码 | gbk / utf8 |
高 |
理解并正确配置 common.inc.php 是管理和维护织梦网站的基础,当你遇到网站无法访问、后台登录失败或数据异常等问题时,首先应该检查这个文件的配置是否正确。

(图片来源网络,侵删)
