本片文章主要是分享给大家关于PHP GD库添加freetype拓展的方法,有需要的朋友可以参考一下
背景:业务需求要用到 imagefttext 函数,发现GD库一开始安装时没有添加 FreeType
linux版本 centos 6.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 && make install
确认freetype 安装成功后重新编译安装GD库,添加freetype 支持
安装gd库,版本2.0.35
由于之前有安装记录,建议先make clean ,否则可能导致安装失败
./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失败,估计因为头文件不在这个目录内,改为上一级目录后引入成功)
确认 Support for Freetype 2.x library: yes
make && make install
确认安装成功后重新编译安装PHP的gd拓展
php版本5.5.38
单独安装gd拓展模块需要cd 到 php-5.5.38/ext/gd
执行 phpize 生成编译文件,如果系统没有引入phpize,这个文件在PHP安装目录下的bin中
在这里一定要先执行make clean,这次安装了8台服务器,没有先执行make clean的100%没有安装成功,都没有添加到freetype support
./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
确认freetype 2 在编译中已被添加
make && make install
确认新生成的.so文件是否跟php.ini中原来引入的路径相同,如果不同需要修改php.ini 中的extension
安装成功后重启php-fpm
ps axu |grep php |grep -v 'grep'|awk '{print $2}'|xargs kill -9
/php5.5.38/sbin/php-fpm
重启成功后查看phpinfo中的gd是否包含
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.9
finished
Atas ialah kandungan terperinci PHP GD库添加freetype拓展的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!