PHP Fatal error: Uncaught Error: Call to undefined function ImageCreateFromJPEG() のエラーで DockerにGDを入れる
2024/11/08
立ち上げたDocker環境で以下のエラーが出たので対応。
PHP
PHP Fatal error: Uncaught Error: Call to undefined function ImageCreateFromJPEG()
PHPのGDライブラリが入っていない模様。
Dockerfile を見る。
Dockerfile
#RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
なんかコメントアウトされているので外す。
Dockefileを更新したのでdocker-compose up --build
で再読み込み。
エラー。
ERROR [app 4/8] RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
failed to solve: process "/bin/sh -c docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/" did not complete successfully: exit code: 1
PHP 7.4以降でGD拡張機能の設定オプションが変更されており--with-freetype-dir
および --with-jpeg-dir
オプションがサポートされなくなっているらしい。
以下に書き換える。
Dockerfile
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
以下の依存パッケージも全部あるか確認しておく。
Dockerfile
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev
足りないパッケージを追加して、docker-compose up --build
で再読み込み。 → できた。
今回はサイトの改修を請けるに当たりリポジトリに含まれていた開発環境を手元で使う際に発生。前任はテストサーバーを直接編集して開発していたとのこと。
広告
2024/11/08