钧言极客站钧言极客

钧言极客

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

最近在用可道云进行在线管理家里的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

freetype.png

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP GD库添加开启Freetype扩展的方法》
文章链接:https://www.jinjun.top/349.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 1

  1. 我是用宝塔,这样的操作太方便

    老张博客 2020年12月24日    回复