尝试使用Laravel 5.1升级进行生产时出现PDOException错误

时间:2015-08-11 02:24:43

标签: php laravel laravel-4 laravel-5 laravel-5.1

我尝试将我最近升级的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,
        ],

2 个答案:

答案 0 :(得分:0)

检查配置文件夹中的database.php,将文件与Github存储库进行比较,并可选择重置用户密码。

答案 1 :(得分:0)

显然,在Laravel 4和Laravel 5.1之间的某个时刻,默认的.env变量DB_PASS变为DB_PASSWORD。所有其他默认变量名称似乎都保持不变。确保.env和database.php文件都包含较新的默认名称DB_PASSWORD应该解决问题,同时注意可能已经使用过密码的任何地方。