CodeBuild:失败,因为无法找到 PHP 7.4

CodeBuild: Failing as PHP 7.4 cannot be found

我建立了一个 AWS 管道,EC2 实例在其上部署了一个 Laravel 应用程序。需要一个需要 PHP7.4 的新包。

我想做什么:
只需更新我的管道中使用的 PHP 版本,该版本在 AWS guideline.

中被接受

我采取了哪些步骤:
我将 buildspec.yml 文件更新为:

  runtime-versions:
    php: 7.4

但是,我最终在日志中遇到以下错误:

我试过的:
我添加了预构建命令来更新存储库(如下所示)

pre_build:
  run-as: ec2-user
  commands:
    - apt-get update
    - apt-get upgrade -y
    - apt-get install -y php7.4-cli php7.4-zip
    - phpenmod zip  

从本质上讲,实例似乎无法找到 PHP 的版本。以前有没有人遇到过这个问题,如果有,我如何在不从头开始的情况下更新版本?

CodeBuild Linux 精选图像中没有 php 7.4 运行时。我已通过第 [1] 页底部的 GitHub link 请求文档更新。

对于您的用例,我建议将环境图像更新为托管在 Dockerhub 上的自定义图像 'php:7.4.3-cli',以将此图像用作您的构建容器。

我用一个简单的构建规范对此进行了测试:

version: 0.2

phases:
  install:
    commands:
      - php -v
  build:
    commands:
      - date

结果:

[Container] 2020/03/05 14:49:57 Entering phase INSTALL
[Container] 2020/03/05 14:49:57 Running command php -v
PHP 7.4.3 (cli) (built: Feb 26 2020 12:05:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

参考:

[1] https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html

您可以在构建映像 Amazon Linux 2 standard:3.0Ubuntu standard:4.0 中使用 php 7.4 以获取更多详细信息,请遵循下面的 link。

https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html