Задать вопрос
  • Как установить imagick для PHP7.1 (docker, alpine)?

    Забыть про pecl и качать с Гитхаба.
    Пример сборки imagick-ext
    apk add --no-cache --virtual .imagick-build-dependencies \
      autoconf \
      curl \
      g++ \
      gcc \
      git \
      imagemagick-dev \
      libtool \
      make \
      tar \
    && apk add --virtual .imagick-runtime-dependencies \
      imagemagick \
    
    # (!) Ниже нужно оставить один способ для скачивания, убрав другой, включая его зависимости.
    
    # Git
    && IMAGICK_TAG="3.4.2" \
    && git clone -o ${IMAGICK_TAG} --depth 1 https://github.com/mkoppanen/imagick.git /tmp/imagick \
    && cd /tmp/imagick \
    
    # curl (wget)
    && IMAGICK_VERSION="3.4.2" \
    && IMAGICK_FILENAME="imagick-${IMAGICK_VERSION}" \
    && IMAGICK_SOURCE="https://github.com/mkoppanen/imagick/archive/${IMAGICK_VERSION}.tar.gz" \
    && curl -fSL --connect-timeout 30 ${IMAGICK_SOURCE} | tar xz -C /tmp \
    && cd /tmp/${IMAGICK_FILENAME} \
    
    && phpize \
    && ./configure \
    && make \
    && make install \
    
    && echo "extension=imagick.so" > /usr/local/etc/php/conf.d/ext-imagick.ini \
    
    && apk del .imagick-build-dependencies

    В вашем случае задавать версию внешним образом лучше через ARG.
    Пример установки версии imagick-ext через аргумент
    Dockerfile
    ARG IMAGICK_VERSION="3.4.2"
    docker
    docker build --build-arg IMAGICK_VERSION=3.4.2 .
    docker-compose
    build:
      context: ./alpine-php
      args:
        - IMAGICK_VERSION=3.4.2


    Пример полной сборки PHP на Alpine :)
    Ответ написан
    4 комментария