laravel 5中数据库连接的问题

时间:2015-02-08 01:50:14

标签: laravel-5 artisan artisan-migrate

我使用命令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

8 个答案:

答案 0 :(得分:20)

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

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

Laravel使用此文件来保护您的密码。只有在.env文件中没有可用的配置时才会使用您设置的值,而Homestead是那里的标准用户。

答案 1 :(得分:7)

看看你的config / database.php和.env文件。也许你的数据库信息不同。

答案 2 :(得分:6)

  

你可以去.env文件。 Project Root文件夹中提供的文件。

     

然后这里的一些与你的数据库有关。

enter image description here

  

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

php artisan config:clear

答案 3 :(得分:3)

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

答案 4 :(得分:1)

从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,
]

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

这必须正常运行,然后运行以下命令:

php artisan migrate:install

答案 5 :(得分: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) 

答案 6 :(得分:1)

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

答案 7 :(得分: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
相关问题