PHP Fatal error: Call to undefined function imagettftext()

Posted hysen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Fatal error: Call to undefined function imagettftext()相关的知识,希望对你有一定的参考价值。

php Fatal error: Call to undefined function imagettftext()

一、问题描述

  安装了环境,发现验证码显示不了,查看日志:error: Call to undefined function imagettftext(),然后你去搜索百度,原因千千万,帖子里的解决方法也千千万,有的是缺gd库支持(没安装),也有可能是gd库要依赖的库等没有安装,或者说是库版本不匹配等,笔者我也捣弄了一大堆解决方式,最后的建议还是重新编译安装php,各种曲折大家可以参考文章:http://hily.me/blog/2010/03/php-undefined-imagettfbbox/

二、重新编译安装php

  1、首先make clean

   ---> 清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件,然后清除之前php编译产生的一些文件,清除残留

检查当前安装的PHP包 ** 

  这个命令是删除不干净的
    #yum remove php 因为使用这个命令以后再用
  #php -v 还是会看到有版本信息的。。。。。
必须强制删除
#rpm -qa|grep php 提示如下
#php-pdo-5.1.6-27.el5_5.3
#php-mysql-5.1.6-27.el5_5.3
#php-xml-5.1.6-27.el5_5.3
#php-cli-5.1.6-27.el5_5.3
#php-common-5.1.6-27.el5_5.3
#php-gd-5.1.6-27.el5_5.3 注意卸载要先卸载没有依赖的 pdo是mysql的依赖项;common是gd的依赖项; 例如:# rpm -e php-pdo-5.1.6-27.el5_5.3
error: Failed dependencies:php-pdo is needed by (installed) php-mysql-5.1.6-27.el5_5.3.i386 所以正确的卸载顺序是:
# rpm -e php-mysql-5.1.6-27.el5_5.3
# rpm -e php-pdo-5.1.6-27.el5_5.3
# rpm -e php-xml-5.1.6-27.el5_5.3
# rpm -e php-cli-5.1.6-27.el5_5.3
# rpm -e php-gd-5.1.6-27.el5_5.3
# rpm -e php-common-5.1.6-27.el5_5.3 再用# php -v 查看版本信息已经没有提示

 

安装之前可以运行一下命令 ,安装必要的依赖包:

yum install libmcrypt libmcrypt-devel mhash mhash-devel libxml2 libxml2-devel bzip2 bzip2-devel

  2、进入php的源码目录,重新进行配置,安装,以下是参考:

    2.1、配置

./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-gd --with-libxml-dir --with-openssl --enable-fpm --enable-xml --enable-sockets --enable-pdo --with-pdo-mysql=/usr/local/mysql --with-mcrypt --with-bz2

    2.2、运行编译和安装命令

      make && make install

    2.3、添加PHP和PHP-FPM配置文件。

cp /usr/local/src/php-5.6.23/php.ini-production /etc/php.ini
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
sed -i [email protected];pid = run/[email protected] = /usr/local/php/var/run/[email protected] php-fpm.conf

     2.4、添加PHP-FPM启动脚本。

cp /usr/local/src/php-5.6.23/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm

    2.5、添加PHP-FPM至服务列表并设置开机自启。

chkconfig --add php-fpm     
chkconfig --list php-fpm     
chkconfig php-fpm on

    2.6、启动服务。

service php-fpm start

    2.7、添加nginx对FastCGI的支持

       2.7.1、备份默认的Nginx配置文件。

cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak
cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf

 

      2.7.2输入命令vi /etc/nginx/nginx.conf打开Nginx的配置文件,按下i键,在所支持的主页面格式中添加php格式的主页,类似如下:

location / {
  root   /usr/local/nginx/html;
  index  index.php index.html index.htm;
}

 

      2.7.3、取消以下内容前面的注释:

location ~ \.php$ {
 root html;
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
 include fastcgi_params;
}

      2.7.4、将root html;改成root /usr/local/nginx/html;

      2.7.5、将fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;改成fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;

      2.7.6、按下Esc键,然后输入:wq并回车以保存并关闭Nginx配置文件。

      2.7.7、输入命令service nginx reload重新载入Nginx的配置文件。

 

  

   

 

以上是关于PHP Fatal error: Call to undefined function imagettftext()的主要内容,如果未能解决你的问题,请参考以下文章

Fatal error: Call to undefined function fnmatch() 解决

PHP-问题处理Fatal error: Uncaught Error: Call to undefined function simplexml_load_file()

Fatal error: Call to undefined function pasterTempletDiy()

Fatal error: Call to undefined function curl_init()问题

Fatal error: Call to undefined function curl_init()解决办法

linux下PHP环境中Fatal error: Call to undefined function mysql_connect() 出错