将 PHP 应用程序部署到 Elastic Beanstalk 时出现问题

Posted

技术标签:

【中文标题】将 PHP 应用程序部署到 Elastic Beanstalk 时出现问题【英文标题】:Issue with deploying PHP Application to Elastic Beanstalk 【发布时间】:2020-10-27 06:43:54 【问题描述】:

我有一个自定义的 php 应用程序,我正在尝试使用 Elastic Beanstalk 进行部署。要使用 ELB 进行部署,我已将代码压缩并上传。我无法正确部署它。是否有正确的压缩和部署方式?

出现以下错误:

[实例:i-1z123x1111a1z9999] 实例上的命令失败。发生意外错误 [ErrorCode: 0000000001]。

已在所有实例上完成命令执行。摘要:[成功:0,失败:1]。

对实例 ID“i-1z123x1111a1z9999”的命令执行不成功。中止操作。

未能部署应用程序。

在中止部署期间,某些实例可能已经部署了新的应用程序版本。为确保所有实例都运行相同的版本,请重新部署相应的应用程序版本。

请以任何可能的方式指导。

谢谢

【问题讨论】:

您能否检查日志并确定哪个命令失败? can-init.log 文件中出现以下错误:[ERROR] -----------------------BUILD FAILED!--- --------------------- 2020-07-06 18:09:11,201 [错误] 构建期间未处理的异常:Yum 没有可安装的 mod24_ssl 【参考方案1】:

从另一个对话,错误

Yum does not have mod24_ssl available for installation

是因为使用了PHP 7.4 running on 64bit Amazon Linux 2/3.0.3mod24_ssl 仅在 Amazon Linux 1 上可用,在 Amazon Linux 2 上不可用。

Amazon Linux 2 上,该软件包称为 mod_ssl。因此要安装它,可以使用以下命令

sudo yum install -y mod_ssl

【讨论】:

我能够使用 Amazon Linux 1 成功部署。 @NetSystemAdmin 很高兴听到它解决了 :-) 谢谢。第二个问题也解决了吗? 有没有办法让 EB 使用 mod_ssl,或者恢复到 Linux 1 是唯一的解决方案?我正在尝试将 PHP 从 7.2 升级到 8.0,而 Linux 2 是唯一可用的选项 @ironic_ollins 我不确定。您可以为此提出新问题。

以上是关于将 PHP 应用程序部署到 Elastic Beanstalk 时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

将 Node.js 页面部署到 AWS Elastic Beanstalk 后出现“hell.php”错误和“502 Bad Gateway”错误

在 Elastic Beanstalk 上部署 Docker 环境

PHP AWS Elastic Beanstalk 后台工作者

使用 Docker 的开发环境并部署到 AWS Elastic Beanstalk

Elastic Beanstalk:将分支部署到环境

将应用程序部署到 AWS Elastic Beanstalk 环境