(2020/02/09更新)最新版イメージであれば使用可能(なはず)です
7.2 もそろそろサポートが切れるので7.4 のイメージを使おうとしたら
ちゃんとバージョンがあがっていました
Dockerfile
FROM php:7.4-apache
RUN apt-get update
RUN apt-get -y install libzip-dev
RUN docker-php-ext-install zip
なので大丈夫だと思います
過去記事は単純に記録として残しておきます
以下過去記事
やりたいこと
Docker hub から phpイメージを引っ張ってきても
zip extensionでパスワード付きzipを作成できない。
それを作成できるようにするのです。
原因さがし
とりあえずこんな感じでできるかな?
とやってみると
Dockerfile
FROM php:7.2-apache
...
docker-php-ext-install zip
zip 使えるようになったかなー、という気がしてくる。
でもよーくログを見ると
log
checking for libzip... from pkgconfig: version 1.1.2 found in /usr/lib/x86_64-linux-gnu
checking for zip_open in -lzip... yes
checking for zip_file_set_encryption in -lzip... no
configure: WARNING: Libzip >= 1.2.0 needed for encryption support
バージョン古くて泣けるのです。
なにか情報ないかな、と思ってベースとなっているubuntuのトラッカーを見に行くと
一応 In Progress
でも待っていられないので自分で入れてしまいましょう
むりやりコンパイルして入れる
これが正解かどうかわかりません。
むしろだれかもっとスマートな方法教えてください(´;ω;`)
抜粋しているだけなので、もしかしたら足りないものあるかも
Dockerfile
FROM php:7.2-apache
RUN apt-get update &&\
apt-get install apt-utils curl gnupg cmake -y &&\
mkdir /tmp/libzip && cd /tmp/libzip && curl -sSLO https://libzip.org/download/libzip-1.4.0.tar.gz &&\
tar zxf libzip-1.4.0.tar.gz && cd libzip-1.4.0/ && mkdir build && cd build && cmake ../ &&\
make > /dev/null && make install &&\
docker-php-ext-configure zip --with-libzip=/usr/local/lib/libzip.so &&\
docker-php-ext-install zip
こんなんでいいのでしょうか?
確認

できてましたヽ(^o^)丿