首页 >php教程 >php手册 >Call to undefined function imagettftext()解决方法,calltoundefined

Call to undefined function imagettftext()解决方法,calltoundefined

WBOY
WBOY原创
2016-06-13 08:44:201048浏览

Call to undefined function imagettftext()解决方法,calltoundefined

由 老高 发表于 2014-10-03  在 代码人生 分类

老高在一个新环境中装DEDECMS的时候发现后台验证码无法显示。直接搜索一下这个错误,有人说session错误,有的说权限错误等等,这不胡扯么!只能看源代码了,定位到文件/include/vdimgck.php。出错的函数是imagettftext(),由于织梦使用了@将错误隐去,导致这次莫名的错误。将@去掉,错误立马出现:

<p>Fatal error: Call to undefined function imagettftext()</p>

现在我们就明确了,出现错误的原因是PHP编译时没有加上FreeType。

解决办法:

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

<code class="hljs bash"><span class="hljs-built_in">wget http://download.savannah.gnu.org/releases/freetype/freetype-<span class="hljs-number">2.4.<span class="hljs-number">0.tar.bz2
<span class="hljs-built_in">tar -jxf freetype-<span class="hljs-number">2.4.<span class="hljs-number">0.tar.bz2
<span class="hljs-built_in">cd reetype-<span class="hljs-number">2.4.<span class="hljs-number">0
<span class="hljs-comment"># 安装到/usr/local/freetype
./configure --prefix=/usr/<span class="hljs-built_in">local/freetype
<span class="hljs-built_in">make && <span class="hljs-built_in">make <span class="hljs-built_in">install
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>

下面我们重新编译PHP,加上参数--with-freetype-dir=/usr/local/freetype

<code class="hljs python">./configure \
<span class="hljs-prompt">... \
<span class="hljs-prompt">... \
--<span class="hljs-keyword">with-freetype-dir=/usr/local/freetype
</span></span></span></code>

编译完成重启php

<code class="hljs coffeescript">kill -USR2 `<span class="javascript">cat /usr/local/php/<span class="hljs-keyword">var/run/php-fpm.pid`
</span></span></code>

再GD库中找到FreeType Support说明安装成功!

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

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

参考:

http://bbs.chinaunix.net/thread-610205-1-1.html

 

 
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn