问题:
Fatal error: Call to undefined function Think\imagettftext() in /var/www/webreg/ThinkPHP/Library/Think/Verify.class.php on line 143
查看phpinfo()后得知,gd中没有freetype的支持
解决:
首先安装freestyle,php-gd
确保先安装freestyle,然后是php-gd;如果是先安装了php-gd,那么在安装完freestyle后,需要make clean。(这句很重要,弄了很多此,,,在这)
然后重新配置编译参数如下:
1.到【你的php源码解压目录】/ext/gd
make clean
./configure
--with-mysql
--prefix=/homewww/php
--with-apxs2=/homewww/httpd/bin/apxs
--with-config-file-path=/homewww/php/conf
--with-gd --enable-exif
--enable-gd-native-ttf
--enable-inline-optimization
--with-zlib --with-png-dir
--with-jpeg-dir=/usr/local/jpeg
--with-freetype-dir=/usr/local/lib
--with-ttf
--enable-mbstring
--with-gettext
--enable-gd-jis-conv
make && make install
2. 成功后提示如下,
Installing shared extensions: /homewww/php/lib/php/extensions/no-debug-zts-20100525/
这样新编译的gd.so会在此路径下,需要cp到你的php.ini中配置的extension_dir的目录下即可。
3.以apache为例,重启 apache,service httpd restart
4.另外,也有可能是libjpeg libpng zlib这些引起,按提示安装后编译进去即可。 这些依赖库包括freetype ,php-gd可通过yum install方式安装
好久没记录东西了,希望能帮到后来遇到问题的朋友。。。
----------------附上完整php编译参数:------------------------------------------------------------------------------------------------------------------------------------------
./configure \
--prefix=/homewww/php \
--with-apxs2=/homewww/httpd/bin/apxs \
--with-config-file-path=/homewww/php/conf \
--with-mysql \
--with-mysqli \
--with-mysql-sock \
--enable-pdo \
--with-pdo-mysql \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-jpeg-dir=/usr/local/jpeg \
--with-freetype-dir \
--with-png-dir=/usr/local/pngp \
--with-bz2 \

本文提供了解决PHP gd模块缺少freetype支持导致无法使用Thinkimagettftext()函数的方法,包括安装freestyle和php-gd,配置编译参数,以及检查依赖库是否正确安装。
3942

被折叠的 条评论
为什么被折叠?



