PHP 7.4 установка GD с поддержкой JPEG формата
Автор:
Eugeny Nosenko
Дата публикации:
2022-12-06 14:02:03 2464
В процессе работы, столкнулся с тем, что по умолчанию в контейнере, PHP не поддерживает JPEG.
При попытке изменить размер вылетала ошибка
imagecreatefromstring(): no jpeg support in this php build
Проверяем. JPEG не поддерживается.
php -r 'print_r(gd_info());'
Array
(
[GD Version] => bundled (2.1.0 compatible)
[FreeType Support] =>
[GIF Read Support] => 1
[GIF Create Support] => 1
[JPEG Support] =>
[PNG Support] => 1
[WBMP Support] => 1
[XPM Support] =>
[XBM Support] => 1
[WebP Support] =>
[BMP Support] => 1
[TGA Read Support] => 1
[JIS-mapped Japanese Font Support] =>
)
Сразу зашел на страницу на докерхабе https://hub.docker.com/_/php
Там нашел пример
FROM php:7.4-fpm RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) gd
Буду краток. Не помогло)
После небольшого гугления выяснилось, что нужно это выполнять отдельно.
RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp RUN docker-php-ext-install -j$(nproc) gd
И тогда все работает как надо. Ссылка на коммит
Поправил так же для PHP 8.1. Посмотреть можно здесь https://github.com/imjonos/laravel-docker
Cчастливой разработки </>