GitLab PHP docker 图像 - 系统中缺少请求的 PHP 扩展 gd
GitLab PHP docker image - the requested PHP extension gd is missing from your system
我正在为我们的应用程序编写一些单元测试,我们使用 GitLab CI 和 GitLab Runner v11.11.1,并使用 Docker 执行器和图像 php:7.1。
当 运行ning 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 以便我可以 运行 我的单元测试?
您需要 PHP GD 库。对于 Debian 和基于 Debian 的系统,例如Ubuntu,以及基于 Debian 的 Docker 容器使用:
apt-get install -qy php-gd
如果还是不清楚,或者你有older/other系统就搜索
apt-cache search php gd
并会找出可能的候选包。
对于 Docker 容器,您似乎需要不同的路径,因此 Dockerfile:
FROM php:7.1-apache-buster
RUN apt-get update
RUN apt-get upgrade -qqy
RUN php -v
RUN apt-get install -qy libpng-dev
RUN docker-php-ext-install gd
我在将此添加到我的 gitlab-ci.yml
文件时修复了错误:
...
before_script:
- apt-get update -yqq
- apt-get install libjpeg-dev libpng-dev -yqq
- docker-php-ext-install gd
...
我正在为我们的应用程序编写一些单元测试,我们使用 GitLab CI 和 GitLab Runner v11.11.1,并使用 Docker 执行器和图像 php:7.1。
当 运行ning 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 以便我可以 运行 我的单元测试?
您需要 PHP GD 库。对于 Debian 和基于 Debian 的系统,例如Ubuntu,以及基于 Debian 的 Docker 容器使用:
apt-get install -qy php-gd
如果还是不清楚,或者你有older/other系统就搜索
apt-cache search php gd
并会找出可能的候选包。
对于 Docker 容器,您似乎需要不同的路径,因此 Dockerfile:
FROM php:7.1-apache-buster
RUN apt-get update
RUN apt-get upgrade -qqy
RUN php -v
RUN apt-get install -qy libpng-dev
RUN docker-php-ext-install gd
我在将此添加到我的 gitlab-ci.yml
文件时修复了错误:
...
before_script:
- apt-get update -yqq
- apt-get install libjpeg-dev libpng-dev -yqq
- docker-php-ext-install gd
...