Je rencontre des problèmes lorsque j'essaie de créer une image en utilisant imagecreatefromjpeg
en utilisant ce Dockerfile
pour générer le conteneur:
FROM php:7.1-Apache
RUN apt-get update && \
apt-get install -y -qq git \
libjpeg62-turbo-dev \
apt-transport-https \
libfreetype6-dev \
libmcrypt-dev \
libpng12-dev \
libssl-dev \
Zip unzip \
nodejs \
npm \
wget \
vim
RUN pecl install redis && docker-php-ext-enable redis
RUN docker-php-ext-install -j$(nproc) iconv mcrypt Zip pdo pdo_mysql Gd bcmath
COPY ./containers/yii.conf /etc/Apache2/sites-available/000-default.conf
RUN for mod in rewrite headers; do a2enmod $mod; done && service Apache2 restart
WORKDIR /var/www/html/
Gd était correctement installé (libjpeg aussi - les deux apparaissant dans php -i
Et phpinfo()
) mais imagecreatefromjpeg
ne fonctionne pas et je ne sais pas pourquoi.
J'ai également exécuté apt install libjpeg-dev libpng-dev libfreetype6-dev
En essayant de ~ forcer ~ la réinstallation (ou la reconfiguration) mais semble ne pas réussir (oui, je redémarre également le conteneur).
root@e8db647c96c4:/var/www/html# php -i | grep -i Gd
/usr/local/etc/php/conf.d/docker-php-ext-Gd.ini,
Gd
GD Support => enabled
Gd Version => bundled (2.1.0 compatible)
Gd.jpeg_ignore_warning => 1 => 1
root@e8db647c96c4:/var/www/html#
root@e8db647c96c4:/var/www/html# docker-php-ext-enable Gd
warning: Gd (Gd.so) is already loaded!
root@e8db647c96c4:/var/www/html#
J'ai essayé apt install libgd2-xpm-dev*
Et apparemment, cela ne résout pas le problème.
Il me manquait de mettre
RUN docker-php-ext-configure Gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install -j$(nproc) Gd
dans mon Dockerfile.
Dockerfile entièrement révisé:
FROM php:7.1-Apache
RUN apt-get update && \
apt-get install -y -qq git \
libjpeg62-turbo-dev \
apt-transport-https \
libfreetype6-dev \
libmcrypt-dev \
libpng12-dev \
libssl-dev \
Zip unzip \
nodejs \
npm \
wget \
vim
RUN pecl install redis && docker-php-ext-enable redis
RUN docker-php-ext-configure Gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install -j$(nproc) iconv mcrypt Zip pdo pdo_mysql Gd bcmath
COPY ./containers/yii.conf /etc/Apache2/sites-available/000-default.conf
RUN for mod in rewrite headers; do a2enmod $mod; done && service Apache2 restart
WORKDIR /var/www/html/
Pour PHP 5.6
FROM php:5.6-Apache
RUN apt-get update && apt-get install -y \
libfreetype6-dev libjpeg62-turbo-dev \
libgd-dev libpng12-dev
RUN docker-php-ext-configure Gd \
--with-freetype-dir=/usr/include/ \
--with-jpeg-dir=/usr/include/
RUN docker-php-ext-install Gd
S'il ne fonctionne toujours pas, peut réinstaller le conteneur.
docker rm <container id>
docker-compose build --pull
docker-compose up