2017-02-07 1 views
3
gd

Ceci est mon DockerfileInstaller php7-alpine dans

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 

mysqli est ok, mais il ne se charge pas de bibliothèque GD.

Je trouve aussi gd.so dans le récipient alpin, s'il vous plaît vérifier l'image:

enter image description here

S'il vous plaît aider

Répondre

5

Vous ne devriez pas mélanger Alpine Linux 3.4, Linux et Alpine bord PHP compilé à partir des sources .

Solution 1

Utilisez la dernière version officielle de Alpine Linux

FROM alpine:3.5 

et ajouter

http://dl-cdn.alpinelinux.org/alpine/3.5/community 

puis installez memcache en utilisant PECL (en php7-poire).

Solution 2

Utilisez le script docker-php-ext-installation pour ajouter GD

FROM php:7.1-fpm-alpine 
RUN apk add --no-cache libpng libpng-dev && docker-php-ext-install gd && apk del libpng-dev 

Pour plus support d'image, vous pouvez également apk ajouter et del:

libjpeg-turbo-dev libwebp-dev zlib-dev libxpm-dev 

I a laissé la réponse en utilisant le Linux officiel d'Alpine en haut, puisque nous devrions toujours essayer d'employer des repos officiels de docker. Mais actuellement, la deuxième solution est meilleure.

La deuxième solution a été fournie par ncopa sur le canal IRC Alpine Linux. Merci.

+0

ça marche pour moi maintenant. mais je fais face à un nouveau problème, je ne peux pas installer php memcache sur alpin –

+0

Eh bien, je n'utilise pas PHP, mais il semble que vous pouvez utiliser l'outil pecl pour installer memcache. Vous auriez probablement besoin des paquets php7-pear, php7-dev et alpine-sdk. http://php.net/manual/en/memcache.installation.php. – Ganwell