我是Docker的新手,正在尝试安装PHP GD 扩展。
这是我当前的Dockerfile:
FROM php:7.4-fpm-alpine
RUN docker-php-ext-install mysqli pdo pdo_mysql bcmath gd
通过docker-compose build && docker-compose up -d
运行docker时,我遇到很多错误,最后得到以下消息:
configure: error: Package requirements (zlib) were not met:
Package 'zlib', required by 'virtual:world', not found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables ZLIB_CFLAGS
and ZLIB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
ERROR: Service 'php' failed to build: The command '/bin/sh -c docker-php-ext-install mysqli pdo pdo_mysql bcmath gd' returned a non-zero code: 1
Docker容器末尾没有“ gd”即可正常运行。
可能是什么问题,我该如何解决?
答案 0 :(得分:6)
您可以尝试在Dockerfile中添加以下设置:
FROM php:7.4-fpm
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd
官方documentation。希望对您有帮助。
答案 1 :(得分:1)
解决该问题的另一种方法是在 Dockerfile 中使用 install-php-extensions
:
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions && sync && \
install-php-extensions gd xdebug
适用于 Alpine 和 PHP8。 文档 here
答案 2 :(得分:0)
如果有人在Docker中安装php-gd扩展程序时遇到问题,请查看@Dmitry注释或Documentation并搜索“ PHP Core Extensions”。
如果要查看如何运行带有php-gd扩展名的NGINX和PHP,可以在Github上看到完整的代码。