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 's@;pid = run/php-fpm.pid@pid = /usr/local/php/var/run/php-fpm.pid@' 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的配置文件。

 

  

   

 

转载于:https://www.cnblogs.com/hysen/p/10849988.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值