laravel 5.1 中的数据库连接问题

connecting to database issue in laravel 5.1

我是 laravel 的新手,在尝试使用 xammp 连接到本地主机中的数据库时,我收到一个错误

SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

我的连接代码是

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

但是 'hindutemples' 数据库存在我不知道它为什么要尝试连接 homestead

感谢任何帮助。

.env.example 重命名为 .env。然后在 .env 文件中设置适当的值。它应该有效。

更新

Laravel 5 将设置存储在 .env 文件中。 Laravel 5 带有根文件夹中的默认 .env.example 文件。如果您在项目根目录中找不到它,它可能已被隐藏。

您需要重命名 .env.example 或在项目根目录中创建新的 .env 文件并将应用程序设置放入其中,如下所示,

APP_ENV=local
APP_DEBUG=true
APP_KEY=0SewSBZ47SfA4vRV6o8BeW74PMFwPpoX

DB_HOST=localhost
DB_DATABASE=hindutemples
DB_USERNAME=root
DB_PASSWORD=

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

env() returns 个值来自 .env 个文件。如果它在 .env 文件中找不到设置它 returns false 或者如果提供默认值,例如env('DB_USERNAME', 'homestead') 它将 return 默认值。在你的情况下它找不到 .env 设置所以它是 returning homestead 作为用户名因此错误。

Read More