PHP 7.4 установка GD с поддержкой JPEG формата
Автор:
Eugeny Nosenko
Дата публикации:
2022-12-06 14:02:03 1546
В процессе работы, столкнулся с тем, что по умолчанию в контейнере, 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частливой разработки </>