随笔 - 144  文章 - 0  评论 - 2  阅读 - 19万

docker环境中安装gd扩展

方案1

一般情况下可能会想到安装命令
docker-php-ext-install gd
但是很有可能出现错误
configure: error: png.h not found.
因为可能本身没有安装png等处理库

方案2
#更新安装依赖资源库
apt update
#安装基础库
apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev
#设置配置文件
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 --with-ttf --enable-gd-native-ttf
#安装扩展
docker-php-ext-install gd
#使扩展可用
docker-php-ext-enable gd

安装过程中如果出现了以下错误,可能是apt的源设置的不正确
在这里插入图片描述
可以在/etc/apt/source.list中设置中科大的源再尝试上面的操作
deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free
deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free

备注:如果提示没有找到freetype-config,可以进行此如下操作自行编译稍微低一点的版本,由于 php-fpm 镜像使用的 libfreetype6 版本为 2.9.1-3 ,版本过新会导致 freetype-config 无法正常使用。解决方案
可以选择自行编译低版本的 freetype 2.8.1。
上代码。

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        wget \
        && wget http://download.savannah.gnu.org/releases/freetype/freetype-2.8.1.tar.gz \
        && tar zxvf freetype-2.8.1.tar.gz \
        && cd freetype-2.8.1/ \
        && ./configure --prefix=/usr/include \
        && make && make install \
        && rm -rf ../freetype-2.8.1
posted on   黑夜开发者  阅读(61)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2019-03-08 Android Studio中运行按钮不出来的解决方案
2019-03-08 解决Android SDK Manager下载慢的问题
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示