linux系统安装php-gd扩展库

2017-08-01 10:24:00
admin
原创
3571

昨天有位客户咨询我一个问题,他在使用然之OA系统时涉及到图片显示时提示下面错误窗口。看到这个错误提示,我们肯定都会想到是不是PHP的gd库未安装,但是这位朋友说他用phpinfo查看了下PHP环境,发现gd扩展已存在,而且问题依旧存在,所以才头疼问题出在哪里。下面是这位朋友给我的截图:

000000000000000.png

1501554313670089.png



看到这里,可能一些细心的朋友已经发现问题所在了,很明显,这位用户的gd扩展安装得不完整。这里我先直接给大家展示gd库完整安装后的截图:


1501554399115924.jpg

所以我们在检查PHP环境,要看一下扩展是否安装齐全、完整,针对上面的问题,本文我们将和大家一起分享linux系统中如何完整安装php-gd扩展。


关于GD扩展

gd扩展是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建图表、图形、缩略图以及其他图像的处理操作。gd扩展支持JPG、PNG、GIF等常见的图片格式,所以在安装php-gd扩展之前,我们需要安装libpng、jpegsrc、freetype这三款软件。下面安装步骤中,具体的路径设置大家根据自己的实际情况进行调整。


安装 freetype


wget http://ftp.twaren.net/Unix/NonGNU/freetype/freetype-2.5.5.tar.gz
tar -xf freetype-2.5.5.tar.gz
cd freetype-2.5.5
./configure --prefix=/usr/local/freetype
make && make install


安装jpegsrc


wget http://www.ijg.org/files/jpegsrc.v9.tar.gz
tar zxvf jpegsrc.v9.tar.gz
cd jpeg-9
./configure --prefix=/usr/local/jpeg
make && make install


安装libpng


wget http://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.31/libpng-1.6.31.tar.gz
tar zxvf libpng-1.6.31.tar.gz 
cd libpng-1.6.31
./configure --prefix=/usr/local/libpng
make && make install


安装GD扩展


不再重新编译php,还是用phpize添加新扩展,注意不要漏掉make clean这一步。


 cd /data/php-5.6.14/ext/gd/
 make clean
 /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
 make && make install


222222222222.png


此时在/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/目录下有出现了gd.so文件。


33333333333333.png


接着修改php.ini文件 添加一行


extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/gd.so


最后重启服务,查看php-gd扩展信息即可。


本文我们一起分享了如何在linux系统中完整安装php-gd扩展,以解决系统应用使用过程中诸如imagecreatefromjpeg()函数无法调用的问题。如果大家在安装过程中有其他问题欢迎和大家一起讨论交流,我们共同学习,共同进步。





版权声明

版权声明:本站原创文章,转载请注明作者和出处。

本站点采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议  

发表评论
评论通过审核后显示。
关注【程序员专区】

扫一扫,分享更多技术干货

热门文章
近期留言

电脑没声音的求助者2019-11-12

这个回答得对,我也是通过你的方法操作,然后电脑就有声音了,高手高手啊

环氧地坪施工2019-10-23

了解了,哈哈哈,谢谢

安贝乐育婴网2019-10-12

讲得很清晰呢

repostone2019-10-10

博主怎么想到要关一个output呢。https://repostone.home.blog/

noOne2019-09-24

遇到同样的问题了……T.T 纠结了好久。。。