给docker中的PHP安装 gd扩展
Posted lonelyxmas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给docker中的PHP安装 gd扩展相关的知识,希望对你有一定的参考价值。
在容器内使用docker-php-ext-install gd安装gd,使用过程中一些程序报错Call to undefined function imagettftext()。在phpinfo中发现它只支持png,所以需要重新编译。
本文使用的docker镜像为php:7.1-fpm
操作步骤
首先主机中执行docker exec -it <容器名 or id> /bin/bash进入容器的命令行。
#主机中
docker exec -it <容器ID或容器名称> /bin/bash #进入php容器
#容器中
#软件源修改为网易镜像站源
#echo "deb http://mirrors.163.com/debian/ stretch main contrib non-free
deb http://mirrors.163.com/debian/ stretch-updates main contrib non-free
deb http://mirrors.163.com/debian/ stretch-backports main contrib non-free" > /etc/apt/sources.list
apt update #更新软件源
apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev #安装各种库
docker-php-source extract #解压源码
cd /usr/src/php/ext/gd #gd源码文件夹
docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2 #准备编译
docker-php-ext-install gd #编译安装
php -m | grep gd
#重启容器
如果没有出现错误,那么gd应该已经支持jpeg等。
安装zip 扩展
#获取扩展文件
wget http://pecl.php.net/get/zip-1.13.5.tgz
#复制到容器当中
docker cp ./zip-1.13.5.tgz php7:/usr/src/php/ext/
#加压文件
tar -zvxf zip-1.13.5.tgz
#重命名
mv zip-1.13.5 zip
#进入zip 文件
cd /usr/src/php/ext/zip
#运行安装文件
docker-php-ext-install zip
然后重启php则生效
docker restart php
!-->以上是关于给docker中的PHP安装 gd扩展的主要内容,如果未能解决你的问题,请参考以下文章
Docker nginx+php74+mysql57, 并安装gd和mysql扩展