最近在本地主机上安装了Laravel,并在PhPMyadmin中创建了一个DB。尝试创建一个测试用户并获得此错误注册:
Illuminate\Database\QueryException数据库主机数组为空。(SQL:从users email 中选择count(*)作为聚合
这是迁移、.env或配置错误吗?
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=swarzie
DB_USERNAME=root
DB_PASSWORD=Gal%1981配置
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env( '127.0.0.1'),
'port' => env( '3306'),
'database' => env( 'swarzie'),
'username' => env( 'root'),
'password' => env( 'Gal%1981'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => false,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],以前与php合作过,但对Laravel框架来说是新的。请给我改正一下。
(谢谢:)
发布于 2020-08-04 07:29:29
您的配置文件设置错误,请参阅下面的片段。我和您一样将db密码硬编码到配置文件中,但是将db密码添加到配置文件中并不是一个好主意,这对于本地开发来说是可以的,但对于生产来说是个坏主意。只需将其排除在配置文件之外,并使用.env
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'swarzie'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'Gal%1981'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],显示此错误是因为数据库中不存在用户表,以初始化数据库运行。
php artisan migratehttps://stackoverflow.com/questions/63239650
复制相似问题