php - GitLab PHP docker 镜像 - 您的系统中缺少请求的 PHP 扩展 gd

标签 php docker gitlab gitlab-ci gitlab-ci-runner

我正在为我们的应用程序编写一些单元测试,我们正在使用 GitLab CI 和 GitLab Runner v11.11.1,并使用带有图像 php:7.1 的 Docker 执行器。

当运行 composer install(我们的 composer 版本是 1.10.17)时,我在一些必需的包上收到以下错误:

the requested PHP extension gd is missing from your system

我在我们的 gitlab-ci.yml 上尝试了一些东西:

apt-get update -yqq
apt-get install -yqq libpng-dev

但这也产生了同样的错误。

我还尝试从 composer.json 文件中获取 ext-gd:

composer require ext-gd

但是我得到了这个错误:

The requested PHP extension ext-gd ^7.1 is missing from your system. Install or enable PHP's gd extension.

我最后一次尝试是:

apt-get install php-common
phpenmod gd

但这给了我这个错误:

Unable to locate package php-common


有谁知道如何简单地启用 PHP 扩展 gd 以便我可以运行我的单元测试?

最佳答案

我在将其添加到我的 gitlab-ci.yml 文件时修复了错误:

...
before_script:
  - apt-get update -yqq
  - apt-get install libjpeg-dev libpng-dev -yqq
  - docker-php-ext-install gd
... 

关于php - GitLab PHP docker 镜像 - 您的系统中缺少请求的 PHP 扩展 gd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65598594/

相关文章:

php - canvas toDataUrl() 如何将base64结果传入和传出mysql blob字段

php - 试图让 php 将文件路径识别为域

docker - 当多个容器在同一主机上运行时,docker 是否会重用图像?

gitlab - 如何从 GitLab api 创建合并请求审查?

java - 如何检查gitlab中的代码覆盖增量?

javascript - 如何使用 Jquery 或 Javascript 在 Laravel Blade 模板 div 中加载网页?

php - 检查事件是在其他事件之前、之后还是期间

docker - Kubernetes可以创建Docker镜像吗?

docker - SaltStack master/minion 来管理我在容器内的数据库

gitlab - 如何从 GitLab 中的另一个项目触发属于管道的特定作业?