[英]Laravel DB array issues
最近在 localhost 上安裝了 Laravel 並在 PhPMyadmin 中創建了一個 DB。 嘗試創建測試用戶並注冊此錯誤:
Illuminate\Database\QueryException 數據庫主機數組為空。 (SQL:select 計數(*)作為來自users
的聚合,其中email
這是遷移、.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 框架來說是新的。 請問我該如何糾正?
謝謝你:)
您的配置文件設置不正確,請參閱以下代碼段。 我已經像您一樣將 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 migrate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.