Heim >php教程 >PHP源码 >解决Call to undefined function imagettftext()方法

解决Call to undefined function imagettftext()方法

WBOY
WBOYOriginal
2016-06-08 17:19:441955Durchsuche

imagettftext是一个图形处理函数了,如果在使用imagettftext函数时碰到Call to undefined function imagettftext()的话就是函数组件没有打开了,所以我们只需要简单的配置即可。

<script>ec(2);</script>

在一个新环境中装Tipask v2.5的时候发现后台验证码无法显示。出错的函数是imagettftext(),由于index.php使用了error_reporting(0)将错误隐去,导致这次莫名的错误,去掉,错误立马出现:

Fatal error: Call to undefined function imagettftext()
现在我们就明确了,出现错误的原因是PHP编译时没有加上FreeType。

解决办法

首先编译安装FreeType,以2.4.0为例:

wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2
tar -jxf freetype-2.4.0.tar.bz2
cd reetype-2.4.0
# 安装到/usr/local/freetype
./configure –prefix=/usr/local/freetype
make && make install
下面我们重新编译PHP,加上参数–with-freetype-dir=/usr/local/freetype

./configure –with-freetype-dir=/usr/local/freetype
编译完成重启php

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
再GD库中找到FreeType Support说明安装成功!

需要注意的是,如果服务器freetype的版本是1.*,那么你可能需要改变编译参数为–with-ttf[=DIR],以下转自ChinaUnix论坛:

字库 配置开关
FreeType 1.x 要激活 FreeType 1.x 的支持,加上 –with-ttf[=DIR]。
FreeType 2 要激活 FreeType 2 的支持,加上 –with-freetype-dir=DIR。
T1lib 要激活 T1lib(Type 1 字体),加上 –with-t1lib[=DIR]。
本地 TrueType 字符串函数 要激活本地 TrueType 字符串函数的支持,加上 –enable-gd-native-ttf。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn