解决wordpress下编辑jpg格式图片的问题

这两天在使用wordpress的编辑图像功能时遇到一个问题,发现jpeg格式的图片在上传之后无法编辑,以为是代码的问题,后来重新安装wp后发现问题依旧,就猜想是不是环境的问题,于是就查看phpinfo的结果,发现在gd模块下ibjpeg version unknown,不能识别jpeg的版本,在网上搜索一番,终于找到了结果,拿来和大家分享,希望对有同样问题的同学有帮助。

这个原因是由于gd库没有解析jpeg的版本,这就需要重新编译php和gd库扩展

首先需要编译安装 freetype,libpng,jpegv9,和gd2 安装过程就不在赘述

然后在编译php的时候将--with-gd=/usr/local/gd2/ 替换成--enable-gd-native-ttf 这个选项,来进行编译,编译成功后进入源代码文件夹内,进入ext/gd/libgd文件夹下,修改gd_jpeg.c文件,大约在111行左右

将switch内的内容替换

switch(JPEG_LIB_VERSION) {
        case 62:
            return "6b";
            break;
 
        case 70:
            return "7";
            break;
 
        case 80:
            return "8";
            break;
 
        case 81:
            return "8a";
            break;
 
        case 82:
            return "8b";
            break;
 
        case 83:
            return "8c";
            break;
 
        case 84:
            return "8d";
            break;
 
        case 90:
            return "9";
            break;
 
        case 91:
            return "9a";
            break;
 
        case 92:
            return "9b";
            break;
 
        case 93:
            return "9c";
            break;
 
        case 94:
            return "9d";
            break;
 
        default:
            return "unknown";
    }

然后进入到上级目录内,开始编译gd扩展

/usr/local/php/bin/phpize 

然后 ./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-gd编译完成

然后在php.ini中添加一行extension=gd.so

重启apache服务,就会看到在libjpeg version 后显示的不再是unknown了 ,问题解决了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值