在尝试不同的事情时,我遇到了几个运行php artisan migrate的错误。最近的一个是:
Access denied for user 'homestead'@'localhost' (using password: YES
这是我的database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'port' => '3306'
],
这是.env
APP_ENV=local
APP_DEBUG=true
APP_KEY=halMyGPhfVZGrdpibFIwEE0wZipP5lqu
DB_HOST=localhost *updated
DB_DATABASE=forge *updated
DB_USERNAME=forge *updated
DB_PASSWORD= *updated
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
UNIX_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
答案 0 :(得分:0)
尝试更改.env
文件中的以下内容,或从DB
文件中删除与.env
相关的所有密钥。
DB_HOST=localhost
DB_DATABASE=forge
DB_USERNAME=forge
DB_PASSWORD=
我遇到了同样的问题,问题是,database.php
文件在DB_DATABASE
文件中查找密钥.env
等。由于该密钥存在于.env
文件中,因此它不考虑您在语句forge
中提供的默认值env('DB_DATABASE', 'forge')
简单地说,“在DB_DATABASE
中查找密钥.env
,如果存在,请使用其他人使用forge
作为默认值”
在您的情况下,密钥存在于.env
文件中,因此,尽管您提供了forge
,但它会考虑homestead
文件中定义的.env
。因此'homestead'@'localhost'