base365

PHP8 中手动安装 GD 拓展库的方法(使用包管理器超简单)

发布时间 2025-08-30 14:15:52 作者 admin 阅读 3785

上一个教程中我们已经安装了php8,但是使用后发现 GD 拓展忘记加上去了。

本来在php8编译的时候,在配置中加上这句:--enable-gd就可以了,更多细节可以看官方说明:GD

但现在需要手动加上这个拓展,就会麻烦一些了。

传统做法是自己编译安装需要的依赖,然后安装 GD 时,配置依赖包的路径来实现。

但是现在其实可以直接使用系统的包管理器来安装依赖项,这里两种方式都会提供!

需要了解的小知识

这里我们需要知道 GD 扩展会依赖 zlib、freetype、libpng、libjpeg 这几个库,下面分别是它们的介绍:

zlib: zlib 是一个用于数据压缩和解压缩的开源库,GD 扩展使用 zlib 来支持 PNG 图像的压缩和解压缩。PNG 是一种无损压缩的图像格式,使用 zlib 压缩算法来压缩图像数据。

freetype: FreeType 是一个开源的字体渲染引擎,它允许 GD 扩展支持从 TrueType 和 OpenType 字体文件中加载字体,并在图像上绘制文本。这意味着你可以在图像上添加文本,并选择不同的字体、大小和样式。

libpng: libpng 是一个用于处理 PNG 图像格式的开源库,GD 扩展使用 libpng 来读取和写入 PNG 图像文件。libpng 提供了对 PNG 图像的解码和编码功能,使 GD 能够处理 PNG 图像。

libjpeg: libjpeg 是一个用于处理 JPEG 图像格式的开源库,GD 扩展使用 libjpeg 来读取和写入 JPEG 图像文件。libjpeg 提供了对 JPEG 图像的解码和编码功能,使 GD 能够处理 JPEG 图像。

所以我们必须要先安装这些依赖后,才可以编译安装 GD 扩展。

安装后只需要编译下 GD 就可以使用了。

方法一、包管理安装依赖

我这里使用的 Centos 系统,其它 Linux 系统应该操作都是类似的。

首先分别安装依赖:

yum install libjpeg-dev libpng-dev libfreetype6-dev zlib1g-dev

然后进入 PHP 的源码包下的 ext 文件夹,并编译安装 GD,分别执行下面命令:

(目录请修改为自己的路径)

cd /www/download/php-8.2.18/ext/gd

/www/server/php/82/bin/phpize

./configure --with-php-config=/www/server/php/82/bin/php-config

make && make install

没有出错的话,编译器会生成 gd.so 文件,放到了 PHP 的拓展目录。

可以通过下面命令查看 PHP 的扩展目录(非必需,可以跳过)

php -i | grep extension_dir

最后修改下 PHP 的配置文件,加上扩展的配置即可:

vim /www/server/php/82/etc/php.ini

# 添加

extension=gd.so

重启下 php-fpm 即可生效:

sytemctl restart php-fpm-82

方法二、编译安装依赖

1.

编译安装 zlib

官方项目地址:https://www.zlib.net/

下载地址在这里:

获取到地址后,分别执行:

wget https://www.zlib.net/zlib-1.3.1.tar.gz

tar -xzvf zlib-1.3.1.tar.gz

cd zlib-1.3.1

./configure --prefix=/usr/local/lib/zlib

make && make install

cd ../

2.

编译安装 freetype

官方项目下载地址:https://sourceforge.net/projects/freetype/files/

获取到地址后,分别执行:

wget https://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.gz

tar -xzvf freetype-2.9.tar.gz

cd freetype-2.9

./configure --prefix=/usr/local/lib/freetype

make && make install

cd ../

3.

编译安装 libpng

官方项目地址:http://www.libpng.org/pub/png/libpng.html

获取到地址后,分别执行:

wget https://nchc.dl.sourceforge.net/project/libpng/libpng16/1.6.43/libpng-1.6.43.tar.gz

tar -xzvf libpng-1.6.43.tar.gz

cd libpng-1.6.43

./configure --prefix=/usr/local/lib/libpng

make && make install

cd ../

4.

编译安装 libjpeg

官方项目下载地址:https://www.ijg.org/files/

获取到地址后,分别执行:

wget https://www.ijg.org/files/jpegsrc.v9f.tar.gz

tar -xzvf jpegsrc.v9f.tar.gz

cd jpeg-9f

./configure --prefix=/usr/local/lib/libjpeg --enable-shared

make && make install

cd ../

5.

编译 GD

用官方的源码包,进入 PHP 的源码包下的 ext 文件夹,并编译安装 GD,分别执行下面命令:

cd /www/download/php-8.2.18/ext/gd

/www/server/php/82/bin/phpize

./configure --with-php-config=/www/server/php/82/bin/php-config --with-jpeg-dir=/usr/local/lib/libjpeg --with-png-dir=/usr/local/lib/libpng --with-freetype-dir=/usr/local/lib/freetype --with-zlib-dir=/usr/local/lib/zlib

make && make install

6.

修改 PHP 配置,添加扩展

修改下 PHP 的配置文件,加上扩展的配置即可:

vim /www/server/php/82/etc/php.ini

# 添加

extension=gd.so

重启下 php-fpm 即可生效:

sytemctl restart php-fpm-82

相关推荐

奇迹暖暖搭配竞技场攻略

搭配竞技场介绍 奇迹暖暖竞技场攻略 搭配竞技场S级搭配推荐。在奇迹暖暖中,玩家可以在搭配竞技场中根据主题进行搭配PK,获取积分,取得

07-16 分类 base365

约 (圣经)

此條目没有列出任何参考或来源。 (2020年9月14日)維基百科所有的內容都應該可供查證。请协助補充可靠来源以改善这篇条目。无法查证的內容可

07-11 分类 注册送365体育

奔驰柏林之声音响多少钱

奔驰柏林之声(Burmester Surround Sound System)是梅赛德斯-奔驰与德国Burmester公司合作推出的顶级音响系统。这套音响系统的售价因车型和配置的不

08-19 分类 base365