9

我使用命令php artisan migrate迁移我的数据库连接,但我仍然得到同样的错误,我检查了一切,没有错。我使用了在 Laravel 4.2 中一直使用的相同连接

这是我在控制台上收到的消息:

exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)' in C:\xampp\htdocs\Projects\blog\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:47
4

8 回答 8

20

您需要更改位于项目根文件夹中的 .env 文件中的值。

如果没有 .env 文件,请将 .env.example 文件复制到 .env。

Laravel 使用这个文件来保护你的密码。您设置的值仅在 .env 文件中没有可用配置时使用,homestead 是那里的标准用户。

于 2015-02-08T02:19:20.797 回答
7

看看你的 config/database.php 和 .env 文件。可能你的数据库信息不一样。

于 2015-05-29T13:34:20.110 回答
6

您可以转到 .env 文件。项目根文件夹中可用的文件。

然后这里有一些与您的数据库相关的内容。

在此处输入图像描述

然后运行以下命令以清除旧的配置缓存。

php工匠配置:清除

于 2015-05-17T08:18:30.227 回答
5

也有这个问题。更新 .env 后,运行php artisan config:clear问题仍然存在!然后在停止服务器并重新启动服务器后php artisan serve,问题解决了!

于 2015-06-22T18:26:51.527 回答
1

Change the following attribute from database.php

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

to

 'mysql' => [
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'laravel',
            'username'  => 'root',
            'password'  => '',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

This must work well then run the following command:

php artisan migrate:install
于 2015-07-03T21:14:24.917 回答
1

我通过使用 config/database.php 文件更新 .env 文件来解决这个问题。

这是我的config/database.php结构(我使用的是 mysql)

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

.env 文件结构(与config/database.php相同)

 DB_HOST=localhost      // Host name
 DB_DATABASE=larablog   // Database name
 DB_USERNAME=root       // Database User
 DB_PASSWORD=           // Db password(No password here) 
于 2016-01-16T19:43:09.243 回答
1

在我的 .env 文件中更新数据库信息后,我遇到了同样的错误。修复了问题退出命令提示符并重新运行php artisan serve命令它帮助了我并且可能对你有帮助。

于 2017-02-08T20:04:47.063 回答
0

如果您使用 sqlite 作为数据库,请确保您已安装 php5-sqlite

sudo apt-get install php5-sqlite

如果已安装,则可能是您的 .env 文件有问题。代替

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

有了这个

DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
于 2016-04-29T10:13:47.837 回答