手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭
技术

docker中的PHP安装GD图像处理扩展

本文讲解PHP安装GD图像处理扩展,php处理图像需要安装GD库否则会报Call to undefined function imagettftext()等方法未定义。说明一下,我的PHP环境是在Linux下的docker中用php:fpm镜像搭起来,nginxmysql也是独立镜像搞的,但安装GD库的核心内容跟直接在Linux、Windows或者Mac环境搭的PHP应该是一致的。

php:fpm镜像默认是没安装gd扩展的,echo phpinfo();如下:

echo phpinfo();

这里通过下载依赖库重新编译生成gd库,因为直接用docker-php-ext-install gd安装gd会遇到各种缺依赖库等问题。

#进入php-fpm容器
docker exec -it php-fpm bash
#先更新软件源
apt update
#安装依赖库
apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev
apt update、apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev

接着解压源码(docker-php-source extract)、打开源码文件夹(cd /usr/src/php/ext/gd),然后把扩展添加到configure中这一步网上很多资料都说用:docker-php-ext-configure gd –enable-gd-native-ttf –with-webp-dir=/usr/include/webp –with-jpeg-dir=/usr/include –with-png-dir=/usr/include –with-freetype-dir=/usr/include/freetype2,结果报错了:

用./configure –help查看帮助,发现可能是版本不同使用的命令改变了,并不需要加-dir的:

#打开gd目录
cd /usr/src/php/ext/gd
#查看帮助
./configure --help
用./configure –help查看帮助
#直接执行:
docker-php-ext-configure gd --with-webp=/usr/include/webp --with-jpeg=/usr/include --with-freetype=/usr/include/freetype2
#编译安装gd
docker-php-ext-install gd
docker-php-ext-install gd

没出错的话/usr/local/lib/php/extensions/no-debug-non-zts-20190902扩展目录下就会生成gd.so了:

然后把gd.so添加到php.ini配置文件中,容器里没有php.ini配置文件可以直接复制php.ini-production改名即可,由于容器中没有安装vi工具我直接把php.ini配置文件拿出来修改后再放进去:

其中,在php.ini配置文件中直接加入extension=/usr/local/lib/php/extensions/no-debug-non-zts-20190902/gd.so就行了:

重启容器,然后刷新浏览器页面就可以看到gd信息了:


展开阅读全文


上一篇:

下一篇:

您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
关注我的公众号每天为您分享各类有用信息
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
分享录多端跨平台系统
分享录交流群