Call to undefined function Intervention\Image\Gd\imagecreatefromjpeg()

做项目上传图片的时候,上传png的没有任何问题,但一上传jpg的就报这个错误

Call to undefined function Intervention\Image\Gd\imagecreatefromjpeg()

看着是gd库的jpeg没找到。

看一下服务器配置

        

果然缺少jpeg 和 freetype

这才回想起来,安装服务器的时候确实没装jpeg

想装上freetype jpeg 必须重新编译gd库

gd依赖包下载地址:https://download.csdn.net/download/u014740338/10441203

1、安装freetype

tar zxvf  freetype-2.4.0.tar.gz
cd freetype-2.4.0
./configure --prefix=/usr/local/freetype
make && make install

2、安装jpegsrc

tar zxvf jpegsrc.v9.tar.gz
cd jpeg-9
./configure --prefix=/usr/local/jpeg 
make && make install

3、安装zlib

tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib
make && make install

4、安装安装libpng

tar zxvf libpng-1.6.16.tar.gz
cd libpng-1.6.16
./configure --prefix=/usr/local/libpng
make && make install

5、进入PHP安装包里面的ext文件夹,找到gd扩展

我的php安装源码的位置:/php-7.0.2

扩展文件的存放地址:/php-7.0.2/ext

cd /php-7.0.2/ext/gd

#清除上次make产生的文件
make clean

#我的编译文件产生的文件夹路径
cd /usr/local/php/lib/php/extension/no-debug-zts-20151012

#删除上次产生的gd.so
rm -rf gd.so

开始重新编译gd

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype


#这次增加了 with-jpeg-dir  with-png-dir with-freetype-dir


make && make install

        

产生了新的gd.so

因为我的是重新编译,所以php.ini中已经有了相关配置,不需要再次添加

如果是第一次安装的话:

#你的php配置文件
vim /etc/php.ini

#增加这条
extension = gd.so

直接重启服务器

service httpd restart

再次查看配置

        

这次再上传jpg图片,没有问题了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSON_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值