CodeIgniter 4 的数据库配置位于 app/Config/Database.php 文件的 public $default 属性中,采用类属性而非多维数组,支持多组配置如 $test、$production,并通过 Database::connect('group') 或 .env 覆盖切换,默认使用 $default 组。

CodeIgniter 4 的数据库连接配置写在 app/Config/Database.php 文件中,具体位置是类的 public $default 属性里。
Database.php 中的核心配置结构
该文件是一个 PHP 类(继承自 BaseConfig),不再使用 CI3 的多维数组。数据库配置以关联数组形式定义在类的公共属性中,最常用的是 $default 组:
-
public $default = [ ... ];—— 这是默认数据库组,框架启动时自动加载 - 你也可以添加其他组,比如
public $test = [ ... ];或public $production = [ ... ]; - 每个组都包含标准连接参数:hostname、username、password、database、DB driver(如 'MySQLi')、charset、collation 等
如何指定使用哪个数据库组
CI4 不再依赖 $active_group 全局变量。改由环境配置或运行时决定:
- 默认使用
$default组,无需额外设置 - 如需切换,可在控制器或服务中通过
$db = \Config\Database::connect('test');显式调用 - 也可在
.env文件中覆盖:DATABASE.default.hostname="127.0.0.1",它会自动合并进对应配置类
常见配置项示例(精简版)
在 app/Config/Database.php 的 $default 数组内:
立即学习“PHP免费学习笔记(深入)”;
'hostname' => 'localhost''username' => 'root''password' => '''database' => 'myapp_db'-
'DBDriver' => 'MySQLi'(注意:CI4 中键名首字母大写,如DBDriver而非dbdriver) -
'charset' => 'utf8mb4'和'DBCollat' => 'utf8mb4_unicode_ci'
注意事项
这个文件一旦语法错误或属性类型不匹配(比如把字符串写成数组),会导致框架无法启动,且错误提示可能不直观。建议:
- 修改后先运行
php spark serve检查是否能正常启动 - 确保数据库服务已运行,且凭据可连通
- 开发阶段可临时开启
'DBDebug' => true查看详细报错



















