我尝试将我最近升级的Laravel 4.2应用程序部署到我的服务器上的Laravel 5.1。一切似乎都有效,但是当我尝试运行php artisan migrate
时,我收到以下错误:
[PDOException]
SQLSTATE[28000] [1045] Access denied for user 'bryan'@'localhost' (using password: NO)
我之前遇到过类似的错误,但这次我很确定我已经使用正确的数据库凭据设置了.env文件。令我困惑的是它为什么说"使用密码:NO"据我所知,我确实想要并且需要在我的数据库中使用密码,而且我认为当我使用Laravel 4.2版本的数据库凭据出现类似问题时,它已经说过"使用密码:是"。我猜测这与问题有关 - 我的Laravel 5.1代码中是否有一种方法可以将这个问题从" NO"到"是",或问题仍然存在于我的数据库凭证中?
我的config / database.php mysql代码:
'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,
],
答案 0 :(得分:0)
检查配置文件夹中的database.php,将文件与Github存储库进行比较,并可选择重置用户密码。
答案 1 :(得分:0)
显然,在Laravel 4和Laravel 5.1之间的某个时刻,默认的.env变量DB_PASS变为DB_PASSWORD。所有其他默认变量名称似乎都保持不变。确保.env和database.php文件都包含较新的默认名称DB_PASSWORD应该解决问题,同时注意可能已经使用过密码的任何地方。