hostname、username、password、database 四字段须按实际环境配置:hostname 填数据库地址(如 127.0.0.1 或容器名),username/password 为数据库账户凭证,database 为已存在的库名(sqlite 填绝对路径)。

填对这四个字段是 CodeIgniter 4 数据库连接成功的前提,它们对应你本地或远程数据库服务的真实访问信息,不是固定写法,必须按实际环境来配。
hostname 怎么填
这是数据库服务器的地址:
- 本地开发用 MySQL/MariaDB:一般填 localhost 或 127.0.0.1(推荐后者,避免 Unix socket 解析问题)
- 本地用 Docker:填容器名,比如 mysql-db(需确保在同一 Docker 网络)
- 远程服务器:填 IP 地址(如 192.168.10.50)或域名(如 db.example.com)
- PostgreSQL 或 SQL Server:同样填对应服务监听的主机地址,注意端口是否开放
username 和 password 怎么填
这两个是你数据库用户的登录凭证,不是系统用户名,而是专门为项目创建的数据库账户:
Word报告自动生成神器。自动生成专业Word文档报告,支持模板填充、目录生成、表格/图表插入、页眉页脚、多级标题、样式主题、批量邮件合并。当用户需要生成Word报告、创建合同文档、批量生成通知/证书、填充Word模板、制作商业计划书时触发。
- 开发环境常见组合:root / 空密码(MySQL 默认)、postgres / admin(PostgreSQL 常见)
- 生产环境必须改掉默认账号,用最小权限原则新建用户,例如:ci_app_user / aS3k!x9p
- 密码含特殊字符(如 @、/、:)时,CI4 不会自动 URL 编码,建议避免;若必须使用,请确认数据库驱动支持(如 PDO 需手动处理)
database 字段填什么
这是你要操作的具体数据库名(schema 名),不是 MySQL 实例名:
- 先确保该数据库已存在。CI4 不会自动创建库,需手动执行 CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 填名称即可,例如:myapp_db、production_site
- 大小写敏感取决于操作系统:Linux 下区分,Windows/macOS 通常不区分,但建议统一小写加下划线
- 如果用 SQLite,这个字段填的是完整路径,如 /var/www/myapp/writable/database.db(注意 writable 目录需有写权限)
配置位置在 app/Config/Database.php,关键代码段如下:
$default = [
'DSN' => '',
'hostname' => '127.0.0.1',
'username' => 'ci_user',
'password' => 'secure_pass_2026',
'database' => 'myapp_db',
'DBDriver' => 'MySQLi',
'DBPrefix' => '',
'pConnect' => false,
'DBDebug' => true,
'charset' => 'utf8mb4',
'DBCollat' => 'utf8mb4_unicode_ci',
'swapPre' => '',
'encrypt' => false,
'compress' => false,
'strictOn' => true,
'failover' => [],
'port' => 3306,
];
填完保存,运行 php spark db:connect 可快速验证连通性。不复杂但容易忽略端口、权限和数据库是否存在这三个点。










