在我们的Laravel应用程序中,我们构建了一个安装程序,该安装程序要求用户提供数据库信息以运行我们的数据库迁移和浏览器。我们向用户询问的字段:
我们在安装过程中将此值写入.env文件
DB_TYPE={value entered by user}
DB_HOST={value entered by user}
DB_PORT={value entered by user}
DB_DATABASE={value entered by user}
DB_USERNAME={value entered by user}
DB_PASSWORD={value entered by user}
在我们的database.php cofig文件中,我们正在从.env
中检索环境值mysql的datatbase.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',
'port' => env('DB_PORT', ''),
'prefix' => '',
'strict' => false,
],
我们在安装过程中没有遇到任何问题,并且数据库连接成功运行。但是在使用应用程序一段时间之后,这种PDOException会随机发生随机路由
SQLSTATE [HY000] [1045]拒绝访问用户' root' @' localhost' (使用密码:否)
SQLSTATE [28000] [1045]拒绝用户访问'伪造' @' localhost' (使用密码:否)
请告诉我可能的原因是什么,以及我们如何解决这个问题。
TIA