Сборка образа Docker с расширением zip PHP показывает, что «пакет libzip устарел» предупреждение

у меня есть Dockerfile с помощью команды сборки, как это:

#install some base extensions
RUN apt-get install -y \
zlib1g-dev \
zip \
&& docker-php-ext-install zip

Я получаю это предупреждение из вывода сборки:

ВНИМАНИЕ: Использование связанного libzip устарело и будет удалено.
configure: ПРЕДУПРЕЖДЕНИЕ. Некоторые функции, такие как шифрование и bzip2, недоступны.
configure: ПРЕДУПРЕЖДЕНИЕ: используйте системную библиотеку и —with-libzip is
рекомендуемые.

Как правильно установить расширение zip без этих предупреждений?

Мой полный Dockerfile выглядит так:

FROM php:7.2-apache

RUN apt-get clean
RUN apt-get update

#install some basic tools
RUN apt-get install -y \
git \
tree \
vim \
wget \
subversion

#install some base extensions
RUN apt-get install -y \
zlib1g-dev \
zip \
&& docker-php-ext-install zip

#setup composer
RUN curl -sS https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/ \
&& ln -s /usr/local/bin/composer.phar /usr/local/bin/composerWORKDIR /var/www/

8

Решение

Это похоже PHP больше не связывается libzip. Вам нужно установить его. Вы устанавливаете zlib1g-dev, но вместо этого установите libzip-dev, Это устанавливает zlib1g-dev как зависимость и позволяет configure скрипт для обнаружения этого libzip установлено.

Затем вам нужно docker-php-ext-configure zip --with-libzip перед выполнением установки с docker-php-ext-install zip, как показывает последнее предупреждение.

Вкратце: измените соответствующую часть вашего Dockerfile на

#install some base extensions
RUN apt-get install -y \
libzip-dev \
zip \
&& docker-php-ext-configure zip --with-libzip \
&& docker-php-ext-install zip

Я проверил, что это строит как ожидалось.

20

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]