gd库的安装

gd库简介

主要用途编辑
在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。在PHP处理图像,可使用GD库,而GD库开始时是支持GIF的,但由于GIF使用了有版权争议的LZW算法,会引起法律问题,于是从 GD 库 1.6 版起所有的 GIF 支持都移除了,但是又在 GD 库 2.0.28 版起又加了回来。如果使用二者之间版本的 GD 库时 GIF 相关函数不可用。

gd库的安装

什么时候需要安装gd

推测只有apache才需要源码编译gd库

  • 动态编译phpize

  • 先安装 gd 前置库 : freetype ,jpegsrc,libpng。

  1. freetype
wget "http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2"
tar jxvf freetype-2.4.0.tar.bz2
cd freetype-2.4.0
./configure --prefix=/usr/local/freetype && make && make install
  1. jpegsrc
wget "http://www.ijg.org/files/jpegsrc.v9.tar.gz"
tar zxvf jpegsrc.v9.tar.gz
cd jpeg-9
CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/jpeg && make && make install
mkdir -p /usr/local/jpeg/include
mkdir -p /usr/local/jpeg/lib
mkdir -p /usr/local/jpeg/bin
mkdir -p /usr/local/jpeg/man/man1
  1. libpng
wget "http://downloads.sourceforge.net/project/libpng/libpng12/1.2.50/libpng-1.2.50.tar.gz?r=http%3A%2F%2Fwww.libpng.org%2Fpub%2Fpng%2Flibpng.html&ts=1376631135&use_mirror=nchc" 
tar zxvf libpng-1.2.50.tar.gz
cd libpng-1.2.50
CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng && make && make install
接下来需要cd到php源码的 gd 目录,否则会报 cannot find config.m4 之类的错误。

cd php-5.3.6
cd ext
cd gd
然后再这个目录执行命令 /usr/local/php/bin/phpize。什么时候需要用到 phpize 呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。我的PHP安装在 /usr/local/php/ 这个目录里,可以根据个人情况修改。

/usr/local/php/bin/phpize
现在可以进行单独编译安装了:

./configure --with-php-configure=/usr/local/php/bin/php-config  --with-jpeg-dir=/usr/local/jpeg  --with-png-dir=/usr/local/libpng   --with-freetype-dir=/usr/local/freetype
或者
./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
接着修改php.ini文件 在 ;extension=php_zip.dll 下面添加一行 extension=gd.so

在此之前需要搞清楚php.ini的位置,可以使用/usr/local/php/bin/php --ini查看,因为我php.ini文件位置不对,所以修改文件并没有起作用

重启 Nginx 之后再看看是否安装成功了。再执行 /usr/local/php/bin/php -m 查看gd模块是否加载成功。

service nginx restart
/usr/local/php/bin/php -m
console列出:

[root@nowamagic gd]# /usr/local/php/bin/php -m
[PHP Modules]
Core
ctype
date
dom
ereg
fileinfo
filter
gd

……
看到gd了,说明gd库安装成功。

接下来只要重启 php-fpm 即可:

killall php-fpm
/usr/local/php/sbin/php-fpm
phpinfo()一下,看看。

#####################################

遇到问题,源码编译出问题,可以再试试,查找原因,应该就是库安装不全的原因

posted @ 2017-09-24 15:10  陈浩然201  阅读(895)  评论(0编辑  收藏  举报