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

时间:2018-01-08 11:45:10

标签: laravel amazon-web-services elastic-beanstalk laravel-5.5

我一直在开发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 个答案:

答案 0 :(得分:2)

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

清除缓存,php artisan config:clear删除了文件并解决了问题。