分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

php在linux下call to undefined function imagettftext()

发布时间:2023-09-06 01:14责任编辑:沈小雨关键词:暂无标签

imagettftext和imagefttext两个函数在生成验证码或需要向图片写入文字时候常用,在linux环境下只开启gd库是不够的。

这两个函数均需要 FreeType 库支持,在函数文档中也可以找到

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/07/9D/wKiom1nMgKjhhqD8AAAOcQtCxo0226.png" title="QQ截图20170928125341.png" alt="wKiom1nMgKjhhqD8AAAOcQtCxo0226.png" />

所以当发现调用时报错提示函数不存在,都是因为编译时没有指定freetype库激活造成的。如果需要则必需重新编译gd库并激活freetype支持。


freetype库是三方库,需要单独安装,如果系统中已经安装则无需安装

查看命令:

rpm -ip freetype

whereis freetype

下载地址: https://www.freetype.org/download.html

最好使用.net域名下的,.org很容易造成超时。

这里以:

https://sourceforge.net/projects/freetype/files/freetype2/2.7.1/freetype-2.7.1.tar.gz/download

为例:

tar -zxf freetype-2.7.1.tar.gzcd freetype-2.7.1/builds/unix./configure --prefix=/usr/local/freetype/2.7.1 --without-harfbuzzmakemake install

说明:如果不进入builds/unix目录下编译会提示:make: Nothing to be done for `unix‘. 当然也没有什么影响。

安装freetype需要包:

 external
 bzip2
 libpng
 harfbuzz
可以使用yum安装,但harfbuzz在yum中没有所以需要编译安装,而编译时又需要freetype包,所以可以不安装这个包,然后在freetype编译时增加--without-harfbuzz即可。


安装好freetype后即可编译gd库,官方文档中也有说明:

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/A6/4E/wKioL1nMf-vwXBb8AADqJkh4X4g573.png" title="QQ截图20170928125111.png" alt="wKioL1nMf-vwXBb8AADqJkh4X4g573.png" />

所以编译gd库需要增加--with-freetype-dir=/usr/local/freetype/2.7.1/ --enable-gd-native-ttf

注意:如果freetype时默认安装无需指定目录。


编译前一定要记得 make clean 清除上次的编译内容,尤其是已经编译安装过的。

./configure 配置后可以查看  Configuring extensions 下面是否有相关成功记录:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/07/9D/wKiom1nMhtXRSuZ2AAAqS5jbvwU236.png" title="QQ截图20170928132004.png" alt="wKiom1nMhtXRSuZ2AAAqS5jbvwU236.png" />


然后

makemake install

编译好后则可以查看phpinfo()

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/A6/4F/wKioL1nMhwuD6wXbAABMYou8D8U455.png" title="QQ截图20170928132200.png" alt="wKioL1nMhwuD6wXbAABMYou8D8U455.png" />

出现这个即安装成功,可以使用这两个函数。

本文出自 “秋风扫落叶” 博客,谢绝转载!

php在linux下call to undefined function imagettftext()

原文地址:http://php2012web.blog.51cto.com/5585213/1969401

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved