CodeIgniter 3 的数据库配置文件必须位于 application/config/database.php,且需定义 $db['default'] 数组包含 hostname、username、password、database、dbdriver 等字段;文件名不可更改,不支持 .env,修改 application_folder 时路径随之变动。

CodeIgniter 3 的数据库配置文件 database.php 默认位于 application/config/database.php。
标准路径和文件结构
这是 CI3 中唯一官方支持的数据库配置位置,文件必须放在:
- application/config/database.php
该文件是一个 PHP 脚本,返回一个二维数组 $db,其中至少要定义 $db['default'] 子数组,包含 hostname、username、password、database、dbdriver 等必需字段。
常见配置示例
典型内容类似这样:
立即学习“PHP免费学习笔记(深入)”;
$db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '123456', 'database' => 'myapp', 'dbdriver' => 'mysqli', 'dbprefix' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE );
注意事项
- 文件名必须是 database.php,不能改名,否则框架无法自动识别
- CI3 不读取 .env 文件,所有值需直接写死或用
getenv()手动获取(需自行引入 dotenv 库并提前加载) - 若修改了
$application_folder路径(如把 application 改名为 app),配置文件实际位置就变成 app/config/database.php - 确保该文件可被 PHP 正确 include,权限错误或路径错误会导致 “Undefined index: default” 或数据库连接失败
如何确认是否生效
在控制器中执行以下代码,能正常输出说明配置已加载成功:
var_dump($this->db->hostname); // 应输出 localhost 或你设置的值
如果报错 “Call to a member function on null”,大概率是 database.php 未正确加载或 $db['default'] 缺失。



















