我们在工作业务中往往会需求要用到imagefttext函数,发现GD库一开始安装时没有添加FreeType,那么这时候就需要我们自己动手去安装添加,本篇文章小编就给大家分享一下PHPGD库添加freetype拓展的方法。
linux版本centos6.6
安装流程(由于服务器为分布式内网服务器,无法使用yum安装,以下均为下载资源包后的编译安装):
安装freetype
解压freetype-2.3.9.tar.gz
编译安装
./configure--enable-static--enable-shared(没有指定prefix,.h文件默认安装到/usr/local/include,.a|.so文件默认安装到/usr/local/lib内其他资源包的安装如果没有指定目录也是一样到这个位置)
make&&makeinstall
确认freetype安装成功后重新编译安装GD库,添加freetype支持
安装gd库,版本2.0.35
由于之前有安装记录,建议先makeclean,否则可能导致安装失败
./configure--enable-shared--with-jpeg=/usr/local/include/--with-freetype=/usr/local/--with-png=/usr/local/include/(这里要注意的是--with-freetype=/usr/local/的路径一开始写的是/usr/local/lib,结果一直引入freetype失败,估计因为头文件不在这个目录内,改为上一级目录后引入成功)
确认SupportforFreetype2.xlibrary:yes
make&&makeinstall
确认安装成功后重新编译安装PHP的gd拓展
php版本5.5.38
单独安装gd拓展模块需要cd到php-5.5.38/ext/gd
执行phpize生成编译文件,如果系统没有引入phpize,这个文件在PHP安装目录下的bin中
在这里一定要先执行makeclean,这次安装了8台服务器,没有先执行makeclean的100%没有安装成功,都没有添加到freetypesupport
./configure--with-php-config=/opt/php5.5.38/bin/php-config--with-jpeg-dir--with-png-dir--with-freetype-dir--with-zlib-dir--with-gd
确认freetype2在编译中已被添加
make&&makeinstall
确认新生成的.so文件是否跟php.ini中原来引入的路径相同,如果不同需要修改php.ini中的extension
安装成功后重启php-fpm
psaxu|grepphp|grep-v'grep'|awk'{print$2}'|xargskill-9
/php5.5.38/sbin/php-fpm
重启成功后查看phpinfo中的gd是否包含
FreeType Support | enabled |
FreeType Linkage | with freetype |
FreeType Version | 2.3.9 |