解决了! Docker + PHP7 + GD导致“调用未定义的函数imagecreatefromjpeg()”
尝试使用imagecreatefromjpeg
使用此Dockerfile
创build图像以生成容器时遇到问题:
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正确安装(libjpeg太 – 都出现在php -i
和phpinfo()
),但imagecreatefromjpeg
不起作用,我不知道为什么。
我也运行apt install libjpeg-dev libpng-dev libfreetype6-dev
尝试〜强制重新安装(或重新configuration),但似乎没有成功(是的,我也重新启动容器)。
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#
我已经apt install libgd2-xpm-dev*
,显然它不能解决问题。 ):
我错过了
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ RUN docker-php-ext-install -j$(nproc) gd
到我的Dockerfile。
全面修改Dockerfile:
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/
- 我可以使用Putty从Rancher Stack中获取URL。 如何使用Jenkins中的shell命令从Rancher Stack中获取相同的URL
- Docker容器从另一个容器安装数据库
- 在Docker中运行Spark时抛出java.lang.OutOfMemoryError
- 如何知道我的docker mysql容器何时启动,mysql已准备好接受查询?
- docker端口可以转发到主机容器上的unix文件套接字吗?
- 为虚拟子接口创build一个docker桥networking
- 运行存储在主机fs或内存中的容器时,Docker工件是否是?
- 命令复制/共享通过以non-gui模式运行脚本生成的jmeter主容器结果(Docker)到EC2实例
- 将音量挂载到OSX上的Docker镜像