Thinkphp 6 - 数据库配置未定义:mysql(throw new InvalidArgumentException(‘Undefined db config:‘ . $name);)解决方案

前言

场景是这样的。我创建了一个数据库,并配置了 config/database.php ,具体报错信息和代码如下:
在这里插入图片描述
database.php(看似没有任何问题)但却报错。

 // 数据库连接配置信息
 'connections' => [
     
     'demo' => [
         // 数据库类型
         'type'              => 'mysql',
         // 服务器地址
         'hostname'          => '127.0.0.1',
         // 数据库名
         'database'          => 'demo',
         // 用户名
         'username'          => 'root',
         // 密码
         'password'          => 'root',
         // 端口
         'hostport'          => '3306',
         // 数据库连接参数
         'params'            => [],
         // 数据库编码默认采用utf8
         'charset'           => 'utf8',
         // 数据库表前缀
         'prefix'            => 'tp6_',
		 //...此处省略配置
     ],
 ],

解决方案

如果你确定你的代码都没有问题,且 connections 只有一个数据库配置,那么肯定是配置文件问题!

如果只有唯一一个数据库配置,那么这个数据库配置接收的数组名必须是 mysql

 // 数据库连接配置信息
 'connections' => [
     
     // 这里必须是mysql
     // 如果是2个以上配置,则无所谓!
     
     'mysql' => [
         // 数据库类型
         'type'              => 'mysql',
         // 服务器地址
         'hostname'          => '127.0.0.1',
         // 数据库名
         'database'          => 'demo',
         // 用户名
         'username'          => 'root',
         // 密码
         'password'          => 'root',
         // 端口
         'hostport'          => '3306',
         // 数据库连接参数
         'params'            => [],
         // 数据库编码默认采用utf8
         'charset'           => 'utf8',
         // 数据库表前缀
         'prefix'            => 'tp6_',
		 //...此处省略配置
     ],
 ],

猜你喜欢

转载自blog.csdn.net/weixin_44198965/article/details/108294977