1

我已经在 database.php 文件中正确指定了配置。

'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'laravel5'),
        'username'  => env('DB_USERNAME', 'root'),
        'password'  => env('DB_PASSWORD', 'abc123'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

当我在控制台上运行它时

php artisan migrate

它给出了错误 Access denied for user 'homestead'@'localhost' (using password: YES)'

为什么会出现此错误,解决方案是什么?

4

2 回答 2

2

检查.env文件,需要在.env文件中指定数据库信息

DB_HOST=localhost
DB_DATABASE=laravel5
DB_USERNAME=root
DB_PASSWORD=abc123
于 2016-02-11T10:15:39.847 回答
2

在 laravel 中,第一优先级是 .env 文件,因此如果已经在 .env 文件中设置了一个将首先起作用的配置,如果在 .env 文件中没有找到任何配置,那么您的 database.php 文件将起作用。在 .env 文件中

DB_HOST=localhost
DB_DATABASE=database
DB_USERNAME=root
DB_PASSWORD=password

如果你想使用 database.php 进行配置,那么你不需要使用env()函数。删除该env()功能后,更新的代码将是

'mysql' => [
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'laravel5',
    'username'  => 'root',
    'password'  => 'abc123',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
    'strict'    => false,
],
于 2016-02-11T10:19:10.290 回答