PHP GD库添加开启Freetype扩展的方法

2020-12-23T23:26:00

最近在用可道云进行在线管理家里的NAS,可以就是默认开启了PHP自带GD扩展是不支持`imagefttext`函数。在管理页面疯狂报错,无法使用缩略图,今天终于抽空出来折腾一下。

安装libjpeg

// 下载最新版本
wget http://www.ijg.org/files/jpegsrc.v9d.tar.gz
// 解压文件
tar zxvf jpegsrc.v9d.tar.gz
// 进入目录
cd jpeg-9d
// 检查配置
./configure --enable-shared --prefix=/usr/local/jpeg
// 编译安装
make && make install

配置全局可用,不然PHP编译会报错libjpeg.so.9找不到

vim /etc/ld.so.conf

加入一行:/usr/local/jpeg

ldconfig -v

安装libpng

yum install libpng
yum install libpng-devel

安装freetype

// 解压文件
tar -zxvf freetype-2.9.1.tar.gz
// 进入目录
cd freetype-2.9.1
// 检查参数
./configure --enable-shared --with-jpeg=/usr/local/libjpeg/ --with-freetype=/usr/local/ --with-png=/usr/local/include/
// 编译
make & make install

PHP编译freetype GD扩展

在这里我使用的是PHP8.0版本,大家可以根据自己的PHP版本来选择

// PHP源码目录
cd /download/php-8.0
// 进入gd目录
cd /download/php-8.0/ext/gd
// 利用phpize
/download/php-8.0/bin/phpize
// 清理之前的安装配置
make clean
// 检查参数
./configure --with-php-config=/download/php8.1/bin/php-config --with-jpeg-dir --with-png-dir --with-freetype-dir --with-zlib-dir --with-gd
// 编译安装
make & make install

替换gd.so文件

在PHP目录下的lib/php/extensions/no-debug-non-zts-xxxx xxx是生成的日期,这个不重要。

找到gd.so 拷贝到你使用的PHP环境的lib/php/extensions

然后修改php.ini 使用extension来引用gd.so文件

extension=/lib/php/extensions/gd.so

重启php -fpm或者更加直接重启服务器

重新运行phpinfo查看gd是否包含freetype

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »