config/autoload/databases.php 需手动创建,路径为 config/autoload/databases.php,内容为返回含 default 和 connections 键的数组,且需安装 hyperf/database 组件并重启服务验证。

在 Hyperf 项目中,config/autoload/databases.php 文件不是自动生成的,需要你手动创建。Hyperf 默认只提供基础配置骨架(如 config/autoload/cache.php、config/autoload/annotations.php 等),数据库配置需自行添加,且必须符合 Hyperf 的 DI 配置规范。
确认 config/autoload 目录存在
Hyperf 标准项目结构中,config/autoload/ 目录默认已存在。若因误删或初始化异常缺失,可手动创建:
- 确保项目根目录下有
config/文件夹 - 在其中创建
autoload/子目录(路径:config/autoload/)
新建 databases.php 并返回配置数组
在 config/autoload/ 下新建 databases.php 文件,内容必须是一个返回关联数组的 PHP 脚本,键名为 Hyperf 数据库组件识别的配置项(如 default、connections 等):
<?php return [
'default' => 'mysql',
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => (int) env('DB_PORT', 3306),
'database' => env('DB_DATABASE', 'hyperf'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'pool' => [
'min_connections' => 1,
'max_connections' => 10,
'connect_timeout' => 10.0,
'wait_timeout' => 3.0,
'heartbeat' => -1,
'max_idle_time' => (float) env('DB_MAX_IDLE_TIME', 60),
],
],
],
];
确保依赖和组件已安装
仅创建配置文件还不够,还需启用数据库相关组件:
- 运行
composer require hyperf/database - 确认
config/autoload/dependencies.php中已注册Hyperf\Database\ConnectionInterface对应的实现(通常由hyperf/database自动处理) - 如果使用 Eloquent,还需
composer require hyperf/db-connection(v3.x 已整合进hyperf/database)
验证配置是否生效
修改后重启服务,可通过以下方式快速验证:
- 执行
php bin/hyperf.php di:dump查看容器中是否加载了数据库连接配置 - 在命令行运行
php bin/hyperf.php db:show(需安装hyperf/db-command)查看连接信息 - 在代码中调用
$this->container->get(\Hyperf\Database\ConnectionInterface::class)测试能否正常获取实例
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











