Php gd with jpeg dir

Installing GD in Docker

I am a complete Docker novice but am having to maintain an existing system. The Dockerfile I am using is as below:

FROM php:5.6-apache RUN docker-php-ext-install mysql mysqli RUN apt-get update -y && apt-get install -y sendmail RUN apt-get update && \ apt-get install -y \ zlib1g-dev RUN docker-php-ext-install mbstring RUN docker-php-ext-install zip RUN docker-php-ext-install gd 
configure: error: png.h not found. The command '/bin/sh -c docker-php-ext-install gd' returned a non-zero code: 1 

5 Answers 5

You should add the libpng-dev package to your Dockerfile :

FROM php:5.6-apache RUN docker-php-ext-install mysql mysqli RUN apt-get update -y && apt-get install -y sendmail libpng-dev RUN apt-get update && \ apt-get install -y \ zlib1g-dev RUN docker-php-ext-install mbstring RUN docker-php-ext-install zip RUN docker-php-ext-install gd 

Then go to directory with Dockerfile and run:

Removing intermediate container f03522715567 Successfully built 9d69212196a2 

Let me know if you get any errors.

You should see something like this:

REPOSITORY TAG IMAGE ID CREATED SIZE sitename latest 9d69212196a2 19 minutes ago 414 MB  b6c69576a359 25 minutes ago 412.3 MB 

Just to double check everything:

Please run the docker build command this way:

docker build -t sitename:1.0 .

(adding :1.0 should not change anything, I added it just to have additional row in docker images output)

docker run —name sitename_test -p 80:80 sitename:1.0

I assumed that apache is using standard port (80) — maybe you need to adjust that. If you have other services/containers listening on port 80 you can make your container listening on other port:

docker run —name sitename_test -p 8080:80 sitename:1.0

That will redirect the traffic from port 8080 to port 80 «inside» the container.

Normally you run container in the background. To do this add the -d option to the docker run command (but for testing purposes you can omit -d to see output in the console).

If you decide to run container in the background you can check logs using docker logs sitename_test . To follow the logs (and see updates in logs) use -f option:

docker logs -f sitename_test

Источник

Установка

Чтобы включить поддержку GD сконфигурируйте PHP с опцией —with-gd[=DIR] , где DIR — это директория установки GD. Чтобы использовать рекомендованную разработчиками встроенную версию библиотеки GD (впервые добавленную в дистрибутив в версии PHP 4.3.0), используйте опцию конфигурации —with-gd . Библиотека GD требует наличие библиотек libpng и libjpeg для компиляции.

В Windows-системах, вы должны включить модуль GD2 DLL php_gd2.dll в php.ini . Старый модуль GD1 DLL php_gd.dll был удален в версии PHP 4.3.2. Функции для работы с полноцветными изображениями, такие как imagecreatetruecolor() , требуют наличие GD2.

Повысить возможности библиотеки GD для работы с большим количеством форматов изображений можно, используя опцию —with-XXXX во время конфигурации PHP.

Поддерживаемые форматы изображений
Формат изображения Опция при конфигурировании
jpeg Чтобы включить поддержку jpeg добавьте —with-jpeg-dir=DIR . Jpeg 6b, 7 или 8 поддерживаются.
png Чтобы включить поддержку png добавьте —with-png-dir=DIR . Внимание, libpng требует наличие библиотеки zlib, поэтому добавьте —with-zlib-dir[=DIR] при конфигурации.
xpm Чтобы включить поддержку xpm добавьте —with-xpm-dir=DIR . Если во время конфигурации не удается найти необходимую библиотеку, можно указать путь к библиотеке X11.

Замечание: При компиляции PHP с libpng, вы должны использовать ту же версию libpng, с которой была собрана библиотека GD.

Повысить возможности библиотеки GD для работы с различными шрифтами можно, используя опцию —with-XXXX во время конфигурации PHP.

Поддерживаемые библиотеки шрифтов
Библиотека шрифтов Опция при конфигурировании
FreeType 2 Чтобы включить поддержку FreeType 2 добавьте —with-freetype-dir=DIR .
T1lib Чтобы включить поддержку T1lib (шрифты Postscript Type 1) добавьте —with-t1lib[=DIR] .
Native TrueType string function Чтобы включить поддержку Native TrueType string function добавьте —enable-gd-native-ttf .

Источник

Php gd with jpeg dir

Чтобы включить поддержку GD сконфигурируйте PHP с опцией —with-gd[=DIR], где DIR — это директория установки GD. Чтобы использовать рекомендованную разработчиками встроенную версию библиотеки GD, используйте опцию конфигурации —with-gd. Библиотека GD требует наличие библиотек libpng и libjpeg для компиляции. Начиная с PHP 7.4.0, —with-gd становится —enable-gd (нужно ли вообще включать модуль) и —with-external-gd (чтобы выбрать использование внешнего libgd , а не встроенного).

В Windows-системах, вы должны включить модуль GD2 DLL php_gd2.dll в php.ini .

Повысить возможности библиотеки GD для работы с большим количеством форматов изображений можно, используя опцию —with-XXXX во время конфигурации PHP.

Поддерживаемые форматы изображений
Формат изображения Опция при конфигурировании
jpeg Чтобы включить поддержку jpeg добавьте —with-jpeg-dir=DIR. Jpeg 6b, 7 или 8 поддерживаются. Начиная с PHP 7.4.0, используйте вместо этого —with-jpeg.
png Чтобы включить поддержку png добавьте —with-png-dir=DIR. Внимание, libpng требует наличие библиотеки zlib, поэтому добавьте —with-zlib-dir[=DIR] при конфигурации. Начиная с PHP 7.4.0, были удалены —with-png-dir и —with-zlib-dir. Теперь libpng и zlib обязательны.
xpm Чтобы включить поддержку xpm добавьте —with-xpm-dir=DIR. Если во время конфигурации не удается найти необходимую библиотеку, можно указать путь к библиотеке X11. Начиная с PHP 7.4.0, используйте вместо этого —with-xpm.
webp Чтобы включить поддержку webp, добавьте —with-webp-dir=DIR.

Замечание: При компиляции PHP с libpng, вы должны использовать ту же версию libpng, с которой была собрана библиотека GD.

Повысить возможности библиотеки GD для работы с различными шрифтами можно, используя опцию —with-XXXX во время конфигурации PHP.

Поддерживаемые библиотеки шрифтов
Библиотека шрифтов Опция при конфигурировании
FreeType 2 Чтобы включить поддержку FreeType 2 добавьте —with-freetype-dir=DIR. Начиная с PHP 7.4.0, используйте вместо этого опцию —with-freetype , которая зависит от pkg-config .
Native TrueType string function Чтобы включить поддержку Native TrueType string function добавьте —enable-gd-native-ttf. (Параметр не имеет никакого эффекта и был удален в PHP 7.2.0.)

Источник

Trying to add freetype to php-gd in Docker official image

I’m trying to add some features to PHP GD installation. I’m using Docker PHP «Official» release as base (php:7.1.15-fpm-jessie). My current production environment uses CentOS, which GD module comes with FreeType, JPEG and PNG support, as you can see in the phpinfo output:

GD Support => enabled GD headers Version => 2.2.5 GD library Version => 2.2.5 FreeType Support => enabled FreeType Linkage => with freetype FreeType Version => 2.4.11 GIF Read Support => enabled GIF Create Support => enabled JPEG Support => enabled libJPEG Version => 6b PNG Support => enabled libPNG Version => 1.5.13 WBMP Support => enabled XPM Support => enabled libXpm Version => 30411 XBM Support => enabled WebP Support => enabled Directive => Local Value => Master Value gd.jpeg_ignore_warning => 1 => 1 

But this Docker image comes without FreeType and JPEG support and with a much older version of GD (see phpinfo bellow):

GD Support => enabled GD Version => bundled (2.1.0 compatible) GIF Read Support => enabled GIF Create Support => enabled PNG Support => enabled libPNG Version => 1.2.50 WBMP Support => enabled XBM Support => enabled Directive => Local Value => Master Value gd.jpeg_ignore_warning => 1 => 1 

Do I need to recompile PHP or just the extension? The image uses Debian Jessie. EDITION (SOLUTION): After recompiling I found the best solution in this post: solved! Troubles with Docker + PHP7 + GD resulting in «Call to undefined function imagecreatefromjpeg()» So I simply added:

RUN apt-get update && apt-get install libgd3 libgd-dev && rm -rf /var/lib/apt/lists/* RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ RUN docker-php-ext-install -j$(nproc) gd 
GD Support => enabled GD Version => bundled (2.1.0 compatible) FreeType Support => enabled FreeType Linkage => with freetype FreeType Version => 2.5.2 GIF Read Support => enabled GIF Create Support => enabled JPEG Support => enabled libJPEG Version => 6b PNG Support => enabled libPNG Version => 1.2.50 

Источник

Читайте также:  Построение прогнозных моделей python
Оцените статью