linux安装php,gd支持jpeg

8 篇文章 0 订阅
[size=large]这几天弄一个项目的服务器,一同事突然告诉我报错误了[/size]
:Fatal error: Call to undefined function imagecreatefromjpeg()

[color=red][size=large]解决办法:[/size][/color]
[size=large]
1,重新安装php不要安装gd
[size]

#./configure --prefix=/usr/local/php --with-config-file-path=/etc \
--with-mysql=/usr/local/mysql --with-iconv-dir \
--with-zlib --with-libxml-dir --enable-xml --disable-debug --disable-rpath \
--enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop \ --enable-sysvsem --enable-inline-optimization --with-curl \
--with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm \
--with-iconv=/usr/local --enable-force-cgi-redirect --enable-mbstring --with-openssl \
#make && make install

[size=large]2,分别在/lib、/usr/lib、/usr/local/lib 下面都加上libjpeg.so库(软连接就行)[/size]

ln -sv /usr/lib/libjpeg.so.62.0.0 /lib/libjpeg.so

[size=large]3,进入php源码下的ext/gd目录下,编译安装gd,[color=red]注意:如果有gd.so.要删除了[/color][/size]

#./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir \
--with-freetype-dir
#make && make install

[size=large]4,配置php.ini 加入[/size]
extension=gd.so

[size=large]重启nginx,php-fpm(貌似只重启php-fpm就可以了)[/size]


[color=red][size=large]解决过程:[/size][/color]
[size=large]网上一查原来是gd不支持jpeg,打开phpinfo一看果然。
一、于是就重新编译,安装php[/size]

./configure --prefix=/usr/local/php --with-config-file-path=/etc \
--with-mysql=/usr/local/mysql --with-iconv-dir \
--with-gd --enable-gd-native-ttf --with-freetype-dir --with-png-dir --with-jpeg-dir \
--with-zlib --with-libxml-dir --enable-xml --disable-debug --disable-rpath \
--enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop \ --enable-sysvsem --enable-inline-optimization --with-curl \
--with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm \
--with-iconv=/usr/local --enable-force-cgi-redirect --enable-mbstring --with-openssl \

make && make install

[size=large]再查看phpinfo,结果还没有。
二、网上搜素 “gd支持jpeg” 结果还真有很多人遇到同样的问题。
1,有人说:php自带的gd不支持
2,有人说:需要自己安装jpeg
3,还有就是重装
于是,先查自己jpeg安装了没有[/size]
#rpm -ql libjpeg

[size=large]发现自己安装了libjpeg, 而且i386和x86_64都安装了(其实一个就够了)。
这就纳闷了呀,自己明明安装了呀。想想自己安装的gd是php自带的。于是就到php-5.2.17/ext/gd下面自己安装,运行以下:[/size]

#phpize
#./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir \
--with-freetype-dir
#make && make install

[size=large]在php.ini 里配上“extention = gd.so”重启nginx和php-fpm(如果你安装的是apache,就只重启apache就行了)
提示:gd already load
哦。。。刚才php已经安装上了,还得重装php,把gd相关的参数去掉(上面第三行)[/size]

#./configure --prefix=/usr/local/php --with-config-file-path=/etc \
--with-mysql=/usr/local/mysql --with-iconv-dir \
--with-zlib --with-libxml-dir --enable-xml --disable-debug --disable-rpath \
--enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop \ --enable-sysvsem --enable-inline-optimization --with-curl \
--with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm \
--with-iconv=/usr/local --enable-force-cgi-redirect --enable-mbstring --with-openssl \
#make && make install

[size=large]重启nginx、php-fpm,
gd已经加载了,可它大爷的还没有jpg。。。。
那肯定是安装gd的时候出的问题。于是到php-5.2.17下运行:[/size]

#make clean
#cd ext/gd
#phpize

[size=large]
生成configure文件,调试configure文件发现,找libjpeg.so默认到/usr/local/lib下面(貌似各个电脑情况不一样).于是吧/usr/local/lib下做了个软连接,重新编译安装gd,终于成功了。终于弄清楚了,花了我整整一天啊
[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值