ext - Problemas con Docker+PHP7+GD que resultan en "Llamar a función no definida imagecreatefromjpeg()"
install php gd docker (1)
Para 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
Si aún no funciona, puede volver a instalar el contenedor.
docker rm <container id>
docker-compose build --pull
docker-compose up
Tengo problemas al intentar crear una imagen usando imagecreatefromjpeg
usando este Dockerfile
para generar el contenedor:
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 se instaló correctamente (también libjpeg; ambos aparecen en php -i
y phpinfo()
), pero imagecreatefromjpeg
no funciona y no sé por qué.
También ejecuté apt install libjpeg-dev libpng-dev libfreetype6-dev
intentando forzar la reinstalación (o la reconfiguración), pero parece que no se realizó correctamente (sí, también reinicio el contenedor).
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#
He intentado apt install libgd2-xpm-dev*
y aparentemente no resuelve el problema.
Resuelto
Me faltaba poner
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install -j$(nproc) gd
en mi Dockerfile.
Dockerfile completo revisado:
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/