ThinkPHP 5.0+数据库配置文件标准路径为config/database.php,返回关联数组,支持extra_config_list机制实现配置分离,database.php中配置优先级高于config.php。

ThinkPHP 的数据库配置文件位置取决于版本,但主流情况很明确:从 ThinkPHP 5.0 开始,数据库配置统一放在 项目根目录下的 config/database.php 文件中。
不同版本的配置文件位置
• TP3.2 及更早版本:数据库配置写在 Conf/config.php(或项目根目录的 config.php)里,使用 DB_HOST、DB_NAME 等常量形式;
• TP5.0 ~ TP5.1:标准路径是 config/database.php,返回一个 PHP 数组,键名为 hostname、database、username 等;
• TP6.x:同样使用 config/database.php,支持多连接配置(如 'mysql'、'sqlsrv'),结构更清晰,也推荐配合 .env 使用 env('DB_HOST', '127.0.0.1')。
必须注意的两个关键点
• 命令行功能依赖 config.php:虽然网页请求能通过 application/config/database.php 加载,但执行 php think migrate 或 php think make:model 时,框架第一阶段只读取项目根目录的 config.php(不是 application 下的)。如果 database 配置没放在这里或没被正确合并,会直接报“找不到数据库配置”;
• TP6 没有全局 config.php:TP6 默认取消了根目录 config.php,所有配置按功能拆分到 config/app.php、config/database.php 等,其中 database.php 就是唯一且权威的数据库配置入口。
怎么安全修改?
• 先备份原文件,再用 UTF-8 无 BOM 编码的编辑器(如 VS Code、Notepad++)打开 config/database.php;
• 修改时优先用 env() 函数读取环境变量,例如:'hostname' => env('DB_HOST', '127.0.0.1'),'database' => env('DB_NAME', 'thinkphp'),
• 改完保存后,若启用了配置缓存(默认开启),需运行 php think clear:config 清除缓存,否则改动不生效;
• 测试连接可用 php think db:connect(TP6)或简单执行一条查询验证。
立即学习“PHP免费学习笔记(深入)”;



















