明天有位顾客咨询我一个问题,他在使用然之时涉及到图片显示时提示下边错误窗口。听到这个错误提示,我们肯定还会想到是不是PHP的gd库未安装,然而那位同学说他用phpinfo查看了下PHP环境,发觉gd扩充已存在,但是问题仍然存在,所以才头痛问题出在哪儿。下边是那位同学给我的截图:

听到这儿,可能一些悉心的同事早已发觉问题所在了,很显著centos修改php.inicentos修改php.inilinux嵌入式开发,那位用户的gd扩充安装得不完整。这儿我先直接给你们展示gd库完整安装后的截图:

所以我们在检测PHP环境,要看一下扩充是否安装齐全、完整,针对里面的问题,本文我们将和你们一起分享linux/windows系统中怎么完整安装php-gd扩充。

linux系统篇

1.CentOS系统关于GD扩充

centos修改php.ini_修改php.ini_修改centosip

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

centos修改php.ini_修改php.ini_修改centosip

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

修改php.ini_修改centosip_centos修改php.ini

./configure --prefix=/usr/local/libpng make && make install

安装GD扩充

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

 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

修改centosip_修改php.ini_centos修改php.ini

make && make install

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

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

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

最后重启服务linux安全加固,查看php-gd扩充信息即可。

2.ubuntu系统

sudo apt-get install php5-gd 

修改centosip_修改php.ini_centos修改php.ini

注意不是php-gd而是php5-gd。

最后重启服务

windows篇

更改PHP配置文件php.ini:

将php.ini选集中的extension=php_gd2.dll后面的;除去即可。

最后重启服务。

小结

本文我们一起分享了怎样在linux(centos、ubuntu)/Windows系统中完整安装php-gd扩充,以解决系统应用使用过程中比如imagecreatefromjpeg()函数未能调用的问题。假如你们在安装过程中有其他问题欢迎和你们一起讨论交流,我们共同学习,共同进步。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复