Laravel
DockerでLaravelの環境構築した際にIntervention Imageを使う方法
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
オススメ本
Docker で Laravel の環境構築した際に Intervention Image を使う方法についてまとめました。
実装環境
docker-compose のバージョン
version: "3"
アプリケーション用コンテナの Dockerfile
FROM php:7.4-fpm-buster
この記事で解決できるエラー文
Unable to init from given binary data.
Webp format is not supported by PHP installation.
Intervention Image を使う方法
アプリケーションコンテナの Dockerfile に、これらのパッケージを入れてください。
RUN apt-get update
RUN apt-get install -y zlib1g-dev libpng-dev libjpeg-dev libfreetype6-dev libwebp-dev \
&& docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \
&& docker-php-ext-install gd
解説
Intervention Image を使うためには、gd という画像処理のライブラリを入れなければ動きません。
Docker を使わないでローカルに Laravel プロジェクトを立ち上げた場合、GD をインストールすれば不具合なく使えますが、Docker で環境構築した場合、jpeg や webp といった圧縮の形式で、前述のエラーが発生しました。
それらを解決するためには、
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp
このように--with をつけてオプション指定する必要があり、これらを使うためには、
apt-get で
libjpeg-dev libfreetype6-dev libwebp-dev
をインストールする必要があります。
よって、先ほど書いた解決方法のような書き方で動くようになりました。
Intervention Image の実装方法
実装方法については、こちらの記事をご覧ください。
⇨【Laravel】Intervention Image で画像を加工して保存画像圧縮に便利
⇨Laravel で Intervention Image を使って webp に圧縮する方法
まとめ
以上です。誰かの参考になればと思います。
このブログは広告のクリックによって支えられています。ありがとうございます。
それでは!
人気記事
フィードバックのお願い
この記事のフィードバックがありましたらYoutubeの適当な動画にコメントしていただいたり、お問い合わせからご連絡ください。