开发者社区> 技术小牛人> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

php在linux下call to undefined function imagettftext()

简介:
+关注继续查看

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

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

wKiom1nMgKjhhqD8AAAOcQtCxo0226.png

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


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

查看命令:

1
rpm -ip freetype

1
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

为例:

1
2
3
4
5
tar -zxf freetype-2.7.1.tar.gz
cd freetype-2.7.1/builds/unix
./configure --prefix=/usr/local/freetype/2.7.1 --without-harfbuzz
make
make install

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

安装freetype需要包:

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


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

wKioL1nMf-vwXBb8AADqJkh4X4g573.png

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

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


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

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

wKiom1nMhtXRSuZ2AAAqS5jbvwU236.png


然后

1
2
make
make install

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

wKioL1nMhwuD6wXbAABMYou8D8U455.png

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

本文转自  ttlxihuan    51CTO博客,原文链接:http://blog.51cto.com/php2012web/1969401


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux下php安装Redis扩展
下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz tar zxvf phpredis-2.2.4.tar.gz #解压 cd phpredis-2.2.4 #进入安装目录 phpize ./configure  make  sudo make install 修改配置文件 sudo
1461 0
Linux下php安装Redis扩展
说明:       操作系统:CentOS php安装目录:/usr/local/php php.ini配置文件路径:/usr/local/php/etc/php.ini Nginx安装目录:/usr/local/nginx Nginx网站根目录:/usr/local/nginx/html ...
816 0
linux 下安装redis以及php Redis扩展
1 [php] view plaincopy在CODE上查看代码片派生到我的代码片 2 linux 下安装redis以及php Redis扩展 3 4 环境配置: centos6.
977 0
手动安装nginx php mysql
一 nginx 1.安装nginx所需的基本库 pcre  和 httpssl rpm -qa pcre pcre-devel   #检查是否有安装 yum install pcre pcre-devel -y  #安装...
1085 0
ECharts, PHP, MySQL, Ajax, JQuery 实现前后端数据可视化
ECharts 下载js代码 工作原理浅析 在项目中引入ECharts 后台处理 数据库端MySQL PHP端 JQuery Ajax处理 ECharts 端处理 前端全部代码 演示结果 总结 最近要将后台数据库上的一些数据以可视化的方法显示到前端,找来找去,发现百度开发的这套图表工具库还不错,网上搜索了一下相关的教程,也算是实现了较为简单的demo。
2270 0
Ajax PHP JavaScript MySQL实现简易的无刷新在线聊天室
思路 消息显示区 发消息 板块 消息显示 消息发送 优化 显示非重复性的数据 优化显示 加上滚动条 每次都显示最新消息 完整代码 前端代码 数据库表结构 服务器端代码 总结与展望 总结 展望 为更好的运用这两天学到的Ajax的相关的知识,就做了个简单的在线网络聊天室。
1292 0
centos下 Apache、php、mysql默认安装路径
apache: 如果采用RPM包安装,安装路径应在 /etc/httpd目录下 apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/apachectl web目录:/var/www/html 如果采用源代码安装,一般默认安装在/usr/local/apache2目录下 php: 如果采用RPM包安装,安装路
3117 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Architecting a Multi-Tenanted Platform
立即下载
yqdh_58c127bb3e4...1510402406.pdf
立即下载
PHP与APM_技术内幕和最佳实践
立即下载