Laravel

DockerでLaravelの環境構築した際にIntervention Imageを使う方法

いつもご利用ありがとうございます。このブログは、広告費によって運営されています。

オススメ本
Web技術を勉強するなら、かなりオススメの雑誌です。毎月新しい発見があります。ついに最終号・・・、みなさん買いましょう!!
読んで損することはない名著。命名で悩むことが多い人はこの本がオススメです。

⇨ Laravel 記事の目次はこちら

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 という画像処理のライブラリを入れなければ動きません。

⇨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 に圧縮する方法

まとめ

以上です。誰かの参考になればと思います。

このブログは広告のクリックによって支えられています。ありがとうございます。

それでは!

人気記事

PHP7.4 + Laravel6 のプロジェクトを AWS EC2 にデプロイする

【laravel-breadcrumbs】Laravel でパンくずリストを実装する