在 Elastic Beanstalk 上更新 Composer - AWS Elastic Beanstalk

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Elastic Beanstalk 上更新 Composer

本主题介绍如何配置 Elastic Beanstalk 以使 Composer 保持最新状态。如果您在尝试安装带有 Composer 文件的程序包时看到错误,或者无法使用最新的平台版本,则可能必须更新 Composer。在平台更新之间,您可以通过使用 .ebextensions 文件夹中的配置文件来更新环境实例中的 Composer。

您可以使用以下配置自行更新 Composer。

commands: 01updateComposer: command: /usr/bin/composer.phar self-update 2.7.0

以下选项设置设置 COMPOSER_HOME 环境变量,其配置 Composer 缓存的位置。

option_settings: - namespace: aws:elasticbeanstalk:application:environment option_name: COMPOSER_HOME value: /home/webapp/composer-home

您可以将这两者合并到 .ebextensions 文件夹中的同一个配置文件中。

例 .ebextensions/composer.config
commands: 01updateComposer: command: /usr/bin/composer.phar self-update 2.7.0 option_settings: - namespace: aws:elasticbeanstalk:application:environment option_name: COMPOSER_HOME value: /home/webapp/composer-home
注意

由于 2024 年 2 月 22 日 AL2023 平台版本和 2024 年 2 月 28 日 AL2 平台版本中 Composer 安装的更新,如果在执行自行更新时设置了 COMPOSER_HOME,则 Composer 自行更新可能会失败。

以下组合命令将无法执行:export COMPOSER_HOME=/home/webapp/composer-home && /usr/bin/composer.phar self-update 2.7.0

但是,前面的示例仍然有效。在前面的示例中,COMPOSER_HOME 的选项设置不会传递给 01updateComposer 执行,也不会在执行自行更新命令时进行设置。

重要

如果您在 composer.phar self-update 命令中省略了版本号,则在您每次部署到源代码时,以及 Auto Scaling 预配置新实例时,Composer 将更新到可用的最新版本。如果发行了与您应用程序不兼容的 Composer 版本,这可能导致扩展操作和部署失败。

有关 Elastic Beanstalk PHP 平台,包括 Composer 的版本的更多信息,请参阅文档 AWS Elastic Beanstalk 平台中的 PHP 平台版本