2017-02-07 27 views
3

Это мой DockerfileУстановите php7-Gd в альпийской

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 нормально, но не загружает библиотеку GD.

Я также найти gd.so в альпийской контейнере, пожалуйста, проверьте изображение:

enter image description here

Пожалуйста, помогите

ответ

5

Не следует смешивать Alpine Linux 3.4, Alpine Linux край и PHP скомпилирован из исходных кодов ,

Решение 1

Используйте официальную последнюю версию Alpine Linux

FROM alpine:3.5 

и добавить

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

затем установить с помощью PECL кэша памяти (в php7-груша).

Решение 2

Используйте докер-PHP-Ext-инсталляционный скрипт для добавления Gd

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

Для получения дополнительной поддержки изображений можно также APK добавить и дель:

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

I оставил ответ, используя официальный Alpine Linux сверху, так как мы всегда должны пытаться использовать официальные репозитории докеров. Но в настоящее время второе решение лучше.

Второе решение было предоставлено ncopa на IRC-канале Alpine Linux. Благодарю.

+0

он работает для меня сейчас. но я сталкиваюсь с новой проблемой, не могу установить php memcache на alpine –

+0

Ну, я не использую PHP, но похоже, что вы можете использовать инструмент pecl для установки memcache. Вам, вероятно, понадобятся пакеты php7-pear, php7-dev и alpine-sdk. http://php.net/manual/en/memcache.installation.php. – Ganwell