在alpine中安装php7-gd

anh*_*khn 5 php gd alpine-linux

这是我的Dockerfile

FROM php:7.1-fpm-alpine
RUN docker-php-ext-install mysqli 
RUN echo "http://dl-4.alpinelinux.org/alpine/edge/community/" >>         /etc/apk/repositories &&
apk update && \
apk upgrade && \
apk add --update \
    php7-gd
Run Code Online (Sandbox Code Playgroud)

mysqli没问题,但是它没有加载GD库.

我也在高山容器中找到gd.so,请查看图片:

在此输入图像描述

请帮忙

Gan*_*ell 10

你不应该混合使用Alpine Linux 3.4,Alpine Linux edge和从源代码编译的PHP.

解决方案1

使用Alpine Linux的官方最新版本

FROM alpine:3.5
Run Code Online (Sandbox Code Playgroud)

并添加

http://dl-cdn.alpinelinux.org/alpine/3.5/community
Run Code Online (Sandbox Code Playgroud)

然后使用pecl安装memcache(在php7-pear中).

解决方案2

使用docker-php-ext-install脚本添加gd

FROM php:7.1-fpm-alpine
RUN apk add --no-cache libpng libpng-dev && docker-php-ext-install gd && apk del libpng-dev
Run Code Online (Sandbox Code Playgroud)

要获得更多图像支持,您还可以使用apk add和del:

libjpeg-turbo-dev libwebp-dev zlib-dev libxpm-dev
Run Code Online (Sandbox Code Playgroud)

我在官方的Alpine Linux上留下了答案,因为我们应该总是尝试使用官方的docker repos.但目前第二种解决方案更好.

第二种解决方案由ncopa在Alpine Linux IRC频道提供.谢谢.