织梦数据库配置文件(即data/common.inc.php)是网站能否正常启动的核心入口,绝大多数安装报错、白屏、数据库连接失败都源于这个文件的配置错误或权限异常。
织梦数据库配置文件在哪:先找到这个文件再说
很多站长第一次接触DedeCMS时,最常问的就是“织梦数据库配置文件在哪”,这个文件的位置非常固定,就在你安装织梦程序的根目录下的data文件夹里,完整路径是/data/common.inc.php。
用FTP工具或者宝塔面板的文件管理,进入网站根目录,打开data目录,能看到一个名为common.inc.php的文件,这就是织梦数据库配置文件,它既是数据库连接的核心,也是系统安全的关键节点,如果这个文件被误删或内容损坏,整个网站会直接报错,连后台登录页都进不去。
这里有一个容易混淆的点:data目录下还有别的PHP文件,比如install.inc.php和admin/config.php,但千万别搞混。common.inc.php是唯一被系统全局调用的数据库配置文件,其他文件各有分工,改了反而出问题。
修改织梦数据库配置文件前必须做的备份动作
修改任何配置文件之前,先备份是最基本的操作,不要直接在线编辑,建议先下载到本地,或者复制一份命名为common.inc.php.bak,一旦改错,还能秒速恢复,行业共识认为,配置文件的改动一定要可回滚,尤其是数据库账号密码这种敏感信息,写错一个字符,整站瘫痪。
具体备份路径:通过宝塔面板进入文件管理,找到data/common.inc.php,右键压缩下载,或者直接复制一份到本地,然后开始修改。
织梦数据库配置文件怎么改:按场景拆解操作步骤
不同场景下需要修改的内容不一样,新手最容易卡在安装时报“数据库连接失败”,老站长则会遇到搬家后数据库密码变更、域名更换后配置失效等问题,我们分场景说清楚。
安装时报数据库连接失败
首次安装DedeCMS时,系统会在安装向导里让你填数据库信息,如果填错了,安装无法继续,但如果在安装完成后手动改了数据库密码,或者把站点从虚拟主机迁到云服务器,就得手动修改这个文件。
打开common.inc.php,核心代码长这样:
$cfg_dbhost = 'localhost'; $cfg_dbname = '你的数据库名'; $cfg_dbuser = '你的数据库用户名'; $cfg_dbpwd = '你的数据库密码'; $cfg_dbprefix = 'dede_';
修改的时候,只改$cfg_dbhost、$cfg_dbname、$cfg_dbuser、$cfg_dbpwd这四个参数,其中$cfg_dbhost通常填localhost

,但如果数据库和网站不在同一台服务器,就要填数据库服务器的IP地址或域名,后边还要带上端口号,比如168.1.10:3306。
织梦数据库配置文件修改密码的正确姿势
很多人在宝塔面板改了数据库密码后,发现网站立刻白屏,原因就是common.inc.php里的$cfg_dbpwd还是旧密码,此时只需要把新密码填进去,保存并覆盖原文件即可。
但要注意编码问题,文件末尾有一段if(!defined('DEDEINC')) exit('Request Error!');的防直接访问代码,保存时千万别动,另外文件是无BOM的UTF-8格式,如果用Windows自带记事本编辑,容易在文件开头插入BOM头,导致PHP报错“headers already sent”,推荐使用VS Code、Notepad++或宝塔自带的编辑器。
具体修改步骤:
- 用编辑器打开
common.inc.php - 定位到
$cfg_dbpwd这一行 - 把引号里的密码替换成新密码
- 保存,覆盖到原路径
- 刷新网站首页测试
织梦数据库配置文件打不开或报错怎么处理
部分用户遇到“织梦数据库配置文件打不开”的情况,通常有两种原因:一是文件权限被设为只读或禁止读取,二是文件被误删,如果是权限问题,需要把data/common.inc.php的权限设为644,目录data设为755,用宝塔面板直接在文件属性里修改即可。
如果是文件被误删,最简单的办法是用安装包里的默认文件恢复,默认文件内容除了密码是空的,其他参数都是模板,但需要先知道对应的数据库名和用户名,否则恢复了也连不上。
还有一种常见报错:DedeCMS Error: (DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' to 'C,G' in php.ini,这个和配置文件关系不大,是PHP环境设置问题,但很多新手会误以为是common.inc.php的锅,其实只要在php.ini里把request_order改成C,G,重启PHP即可。
织梦数据库配置文件的权限安全:不只是能连上就行
很多站长改完数据库连接后能正常打开网站,就以为万事大吉,但common.inc.php里明文存储了数据库账号和密码,一旦被恶意读取,攻击者可以直接操作你的数据库,拖库、篡改数据、植入后门,后果非常严重。
文件权限怎么设置最稳妥
在Linux服务器上,data/common.inc.php的权限建议设为644或444。644表示文件所有者可读写,其他用户只能读。444表示所有用户只读,如果设为666甚至777,任何用户都能写,危险系数极高。
但是别把整个data目录都设为444,因为织梦运行时会向data目录写入缓存文件,目录权限保持

755即可,文件单独设置只读。
搬家后如何检查配置文件是否匹配
你从简米云搬到酷番云,或者从虚拟机搬到独立服务器,最容易遇到的问题就是数据库地址变化,这时打开common.inc.php,确认三点:
$cfg_dbhost是否指向新数据库地址$cfg_dbname和$cfg_dbuser是否和新的数据库一致$cfg_dbprefix是否和原来一致,如果迁移时改了表前缀,这里必须同步修改,否则所有数据都查不到
检查完这些,再登录后台,清除缓存,基本就正常了。
织梦数据库配置文件和其他文件的协同关系
不少站长会问,为什么我改了数据库配置文件,网站还是报错?因为织梦系统除了common.inc.php,还会读取data/config.cache.inc.php和data/cache/目录下的缓存文件,有时候改了数据库密码,但缓存里存的还是旧数据,会导致后台能登录,前台却报错。
这时候需要在后台“系统”->“系统设置”->“系统运行参数”里点“更新缓存”,或者直接删除data/cache目录下所有文件,让系统重新生成,这一步很多人忽略,但恰恰是解决“改完配置还是白屏”的关键。
织梦数据库配置文件的编码与语法检查
改完common.inc.php后,最好做一次语法检查,用宝塔面板的文件编辑功能,在右上角选择“PHP代码”可以高亮,如果代码出现红色波浪线,说明语法有问题,常见原因是多打了分号或引号,更严谨的做法是在服务器终端执行:
php -l /www/wwwroot/你的域名/data/common.inc.php
如果返回No syntax errors detected,说明文件没问题,这一步能提前发现错误,避免直接把网站改崩溃。
常见问题速查:织梦数据库配置出错怎么办
| 现象 | 可能原因 | 解决路径 |
|---|---|---|
| 首页提示“数据库连接失败” | 数据库密码错误或数据库服务未启动 | 核对$cfg_dbpwd,检查数据库服务状态 |
| 后台能登录但前台数据错乱 | 表前缀$cfg_dbprefix不匹配 |
确认数据表实际前缀,改成一致 |
| 修改配置文件后页面下载PHP文件 | 服务器PHP解析异常 | 检查PHP版本,重启PHP-FPM |
| 文件修改后乱码 | 文件编码被改成非UTF-8 | 用编辑器转成UTF-8无BOM格式 |
| 报错“无法写入缓存” | data/cache目录权限不足 |
将data/cache权限设为755 |
织梦数据库配置文件修改后如何验证是否生效

修改完文件,别急着关编辑器,先做三步验证:
- 用浏览器访问网站首页,看是否正常加载
- 登录后台
/dede,能用账号密码登录说明数据库读写正常 - 在站点后台发布一篇测试文章,确认数据能写入数据库
这三步全部通过,说明common.inc.php配置没问题,如果第一步就报错,立刻回滚到备份文件,再做二次排查。
关于织梦数据库配置文件的安全加固建议
虽然DB配置文件本身已经加密了密码(明文但可读),但为了防护低级别攻击,可以把自己的数据库账号权限设置为仅该网站数据库可用,不要给全局权限,另外建议在宝塔面板中开启防火墙规则,只允许数据库端口对特定IP开放,尤其是当$cfg_dbhost填写的是远程数据库地址时。
如果你使用云数据库,比如简米云RDS,记得在RDS白名单里加上服务器的公网IP或内网IP,否则即使配置文件全对,数据库也无法连接。
织梦数据库配置文件common.inc.php,本质就是一张数据库连接的地图,你改了数据库密码、换了服务器、迁了主机,都需要来这张地图上更新路标,只要记住备份、改参数、调权限、清缓存这四步,绝大多数配置问题都能解决,遇到报错先看文件本身,再查权限,最后看缓存,别一上来就重装系统。
Q&A:织梦数据库配置文件常见问题解答
织梦数据库配置文件修改后为什么后台登录不了?
后台登录页面本身也依赖数据库连接,如果common.inc.php里的密码或数据库名填错,后台同样无法验证管理员密码,先检查文件中的四个关键参数是否全部正确,然后用php -l做语法检查,如果一切正常,再查看服务器日志里的PHP报错信息,定位是数据库连接异常还是session问题。
织梦数据库配置文件里的端口号怎么填写?
大多数虚拟主机和云服务器默认MySQL端口是3306,此时$cfg_dbhost直接填localhost即可,不用写端口,但如果使用宝塔面板并手动修改过MySQL端口,或使用云数据库RDS,必须在主机地址后加上冒号和端口,例如rm-xxxxxxxx.mysql.rds.aliyuncs.com:3306,注意端口前是英文冒号,不要用中文符号。
织梦数据库配置文件被人篡改了怎么办?
立即关闭网站访问,下载common.inc.php到本地,核对四个参数,如果密码和数据库名被改,先用phpMyAdmin或宝塔数据库管理工具确认当前数据库的正确账号密码,然后恢复成正确值,同时检查是否有其他文件被植入后门,比如data目录下突然多出的php文件,建议修改数据库密码,并更新common.inc.php,再对所有核心文件做一次全盘扫描。
