【问题标题】:Laravel 5: php artisan migrate issueLaravel 5:php artisan 迁移问题
【发布时间】:2016-05-22 01:16:48
【问题描述】:

我已经正确指定了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

它给出了错误 用户 'homestead'@'localhost' 的访问被拒绝(使用密码:YES)'

为什么会出现这个错误,解决方法是什么?

【问题讨论】:

    标签: php laravel laravel-5 laravel-5.1 laravel-migrations


    【解决方案1】:

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

    DB_HOST=localhost
    DB_DATABASE=laravel5
    DB_USERNAME=root
    DB_PASSWORD=abc123
    

    【讨论】:

    • 它解决了这个问题。在两个不同的地方指定相同的配置不是多余的吗?
    • @alishaukat 只需要在env文件中指定
    • 那为什么我们在database.php中有这个配置呢?
    • 我使用 .env 文件,但我 认为 我在某处读到迁移函数使用 database.php 中的 'mysql_testing' => [] 条目而“mysql”用于应用程序
    【解决方案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,
    ],
    

    【讨论】:

      猜你喜欢
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 2020-01-06
      • 2019-11-06
      • 2016-08-20
      • 2017-10-12
      • 2016-05-10
      • 2013-10-28
      相关资源
      最近更新 更多