PHP动态修改GD库扩展问题

96
Godtoy
2017.03.10 10:07* 字数 225

在生成图像验证码的时候我们会用到GD库进行images,我们先安装它.
但是有时候,发现自己已经安装了GD库,但是验证码还是生成不了
这个时候就得检查一下imagettftext这个函数了

http://php.net/manual/zh/function.imagettftext.php

Paste_Image.png
#cd /server/downloads/php-5.6/ext/gd
#/server/php/bin/phpize
#./configure --help

库文件可以直接yum安装
# ./configure --with-php-config=/server/programs/php/bin/php-config --with-zlib-dir --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd

#make && make install

这个时候会生成一个gd.so在php安装路径下
Paste_Image.png
Paste_Image.png

开启扩展

#vim php.ini
#增加 extension=gd.so
重启php-fpm即可

那么问题来了

  • 我的php环境,最开始编译安装时已启用了GD扩展,但不支持jpeg图片处理,现在希望在不重新安装php的情况下,使其支持jpeg处理。

  • 我尝试用phpize重新编译GD库扩展生成gd.so,但在php.ini中加入extension=gd.so后重启php,会报错"PHP Warning: Module 'gd' already loaded in Unknown on line 0"。

Paste_Image.png
     if (!function_exists("imagettftext")) {
            die("请安装GD库和Freetype");
        }

在我索求答案无果后,我选择了重新编译php,尴尬

Paste_Image.png

某站答案:

Paste_Image.png
PHP