首页 文章

将Laravel部署到Elastic Beanstalk - 拒绝数据库连接

提问于
浏览
1

我一直在开发Laravel应用程序并定期部署到Elastic Beanstalk实例而没有问题,但突然间,在没有任何警告的情况下,部署已经开始失败 .

显然我立即想知道我可能在代码中发生了什么变化导致这种情况,但我没有对核心配置进行任何更改 . 我回滚到早先的提交只是为了确保它不是我的代码,我得到了同样的错误 .

在我运行 eb deploy 并运行 .ebextensions 配置后,它失败了 .

这是日志中的错误消息:

[2018-01-08T10:50:34.672Z] INFO  [9457]  : Running 4 of 5 actions: EbExtensionPostBuild... 
[2018-01-08T10:50:35.523Z] ERROR [9457]  : Command execution failed: Activity failed. (ElasticBeanstalk::ActivityFatalError) caused by:   

In Connection.php line 664:
     SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = custom and table_name
= migrations)

     In Connector.php line 67:
     SQLSTATE[HY000] [2002] Connection refused

      (ElasticBeanstalk::ExternalInvocationError)

数据库连接凭据绝对正确(并且也没有更改) .

它失败时尝试的命令就是:

php artisan migrate --force

我尝试通过SSH连接到服务器,我可以手动运行相同的命令而不会出现问题 .

我只是无法理解为什么部署突然断开连接 . 它可能与AWS安全配置有关吗?它能过期还是什么? : - /

1 回答

  • 2

    事实证明,问题是由本地设置缓存然后部署到服务器引起的: bootstrap/cache/config.php .

    使用 php artisan config:clear 清除缓存已删除文件并解决了问题 .

相关问题