web-dev-qa-db-ja.com

PHP Zip拡張機能で「バンドルされたlibzipは非推奨です」という警告が表示されるDockerイメージのビルド

次のようなビルドコマンドを持つDockerfileがあります。

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

私はビルド出力からこの警告を受け取ります:

警告:バンドルされたlibzipの使用は非推奨であり、削除されます。
configure:警告:暗号化やbzip2などの一部の機能は利用できません。
configure:警告:システムライブラリを使用し、-with-libzipを推奨します。

これらの警告なしで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/composer


WORKDIR /var/www/
12
sakhunzai

それ のように見える 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

これが期待どおりにビルドされることを確認しました。

43
Just a student