AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 AWS Elastic Beanstalk PHP 平台

AWS Elastic Beanstalk 针对不同版本的 PHP 编程语言支持多个平台。这些平台支持可以单独运行或在 Composer 下运行的 PHP Web 应用程序。在 AWS Elastic Beanstalk 平台 文档中的 PHP 中了解更多信息。

Elastic Beanstalk 提供配置选项,可供您用于自定义在 Elastic Beanstalk 环境中的 EC2 实例上运行的软件。您可以配置应用程序所需的环境变量,启用到 Amazon S3 的日志轮换,并设置常见 PHP 初始化设置。

在 AWS 管理控制台中提供了平台特定的配置选项,可用于修改运行环境的配置。要避免在终止环境时丢失环境配置,可以使用保存的配置来保存您的设置,并在以后将这些设置应用到其他环境。

要保存源代码中的设置,您可以包含配置文件。在您每次创建环境或部署应用程序时,会应用配置文件中的设置。您还可在部署期间使用配置文件来安装程序包、运行脚本以及执行其他实例自定义操作。

如果使用了 Composer,您可以将 composer.json 文件包含在源包中以在部署期间安装程序包。

对于未提供为配置选项的高级 PHP 配置和 PHP 设置,您可以使用配置文件来提供 INI 文件,该文件可扩展并覆盖由 Elastic Beanstalk 应用的默认设置或者安装其他扩展。

AWS 管理控制台中应用的设置覆盖配置文件中的相同设置(如果存在)。这让您可以在配置文件中包含默认设置,并使用控制台中的特定环境设置加以覆盖。如需了解有关优先顺序和其他设置更改方法的更多信息,请参阅配置选项

配置 PHP 环境

您可以使用 AWS 管理控制台启用到 Amazon S3 的日志轮换,配置应用程序可从该环境中读取的变量,并更改 PHP 设置。

在 Elastic Beanstalk 控制台中配置 PHP 环境

  1. 打开 Elastic Beanstalk 控制台

  2. 导航到您的环境的管理页

  3. 选择 Configuration

  4. Software 配置卡上,选择 Modify

PHP 设置

  • 文档根目录 – 包含您站点的默认页面的文件夹。如果您的欢迎页面不位于源包的根目录,请指定包含该页面且与根路径相关的文件夹。例如,如果欢迎页面位于名为 /public 的文件夹中,则为 public

  • 内存限制 – 允许脚本分配的最大内存量。例如:512M

  • Zlib 输出压缩 – 设置为 On 以压缩响应。

  • 允许 URL fopen – 设置为 Off 以防止脚本从远程位置下载文件。

  • 显示错误 – 设置为 On 以显示要调试的内部错误消息。

  • 最长执行时间 – 脚本在被环境终止前允许运行的最长时间,单位为秒。

日志选项

“日志选项”部分有两个设置:

  • 实例配置文件 – 指定有权访问 Amazon S3 存储桶的实例配置文件,该存储桶与应用程序关联。

  • Enable log file rotation to Amazon S3 - 指定应用程序的 Amazon EC2 实例的日志文件是否应复制到与应用程序相关联的 Amazon S3 存储桶。

环境属性

环境属性部分,您可以在运行应用程序的 Amazon EC2 实例上指定环境配置设置。这些设置会以密钥值对的方式传递到应用程序。

在运行于 Elastic Beanstalk 中的 PHP 环境内,这些值将写入到 /etc/php.d/environment.ini 并且可通过使用 $_SERVERget_cfg_var 函数访问。

$endpoint = $_SERVER['API_ENDPOINT'];

参阅 环境属性和其他软件设置 了解更多信息。

aws:elasticbeanstalk:container:php:phpini 命名空间

您可以使用配置文件设置配置选项并在部署期间执行其他实例配置。配置选项可以通过您使用的 Elastic Beanstalk 服务或平台定义并组织到命名空间中。

PHP 平台在 aws:elasticbeanstalk:container:php:phpini 命名空间中定义选项,其中包括一个在 AWS 管理控制台中不可用的选项。composer_options 设置通过 composer.phar install 使用 Composer 安装依赖项时要使用的自定义选项。有关包括可用选项在内的更多信息,请转到 http://getcomposer.org/doc/03–cli.md#install

以下示例配置文件显示这个命名空间中可用的每个选项的设置:

例 .ebextensions/php-settings.config

option_settings: aws:elasticbeanstalk:container:php:phpini: document_root: /public memory_limit: 128M zlib.output_compression: "Off" allow_url_fopen: "On" display_errors: "Off" max_execution_time: 60 composer_options: vendor/package

Elastic Beanstalk 提供许多配置选项来自定义您的环境。除了配置文件之外,您还可使用控制台、保存的配置、EB CLI 或 AWS CLI 来配置选项。参阅 配置选项 了解更多信息。