我使用命令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
答案 0 :(得分:20)
您需要更改位于项目根文件夹中的.env文件中的值。
如果没有.env文件,请将.env.example文件复制到.env。
Laravel使用此文件来保护您的密码。只有在.env文件中没有可用的配置时才会使用您设置的值,而Homestead是那里的标准用户。
答案 1 :(得分:7)
看看你的config / database.php和.env文件。也许你的数据库信息不同。
答案 2 :(得分:6)
你可以去.env文件。 Project Root文件夹中提供的文件。
然后这里的一些与你的数据库有关。
然后运行以下命令清除旧的配置缓存。
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