如何使用MAMP将我的Laravel 5应用程序连接到mysql?

时间:2015-09-06 02:46:31

标签: php mysql laravel laravel-5 artisan

在尝试不同的事情时,我遇到了几个运行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

1 个答案:

答案 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'

上的错误访问被拒绝 希望我澄清了这些事情。