日期:2014-05-16  浏览次数:20793 次

linux下安装gd库
1. 先检查系统是否已经安装gd库
        安装gd库需要jpeg、png等,jpeg的主要文件有jpeglib.h, libjpeg.a, libjpeg.so等。首先检查系统中安装了没有,到/usr/include目录下看有无jpeglib.h,到/usr/lib目录下看有无 libjpeg.a和libjpeg.so,若没有则需要先安装jpeg。查看gd是否安装,GD的主要文件有gd.h, libgd.a等,到/usr/local/include目录下查看有无gd.h,若没有则需要统一安装gd库。若已经安装gd库则可以直接安装php,把gd库追加到php里面即可。
若没安装则先安装gd库。
2. gd库的安装
(1) 下载下列包:
   jpegsrc.v6b.tar.gz
   libpng-(version).tar.gz
   freetype-(version).tar.gz
   gettext-(version).tar.gz
   gd-(version).tar.gz

(2) 安装jpeg-6b(支持jpeg):
(2.1) 执行如下命令创建目录:
mkdir -p [jpeg-6b安装目录]
mkdir -p [jpeg-6b安装目录]/bin/
mkdir -p [jpeg-6b安装目录]/lib/
mkdir -p [jpeg-6b安装目录]/include/
mkdir -p [jpeg-6b安装目录]/man/
mkdir -p [jpeg-6b安装目录]/man/man1/

(2.2) 解压jpegsrc.v6b.tar.gz
(2.3) 进入[jpeg-6b解压目录],执行如下命令,替换文件:
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .

(2.4) 进入[jpeg-6b解压目录]执行如下命令安装jpeg-6b:
./configure --prefix=[jpeg-6b安装目录] --enable-shared --enable-static
make
make install

(3) 安装libpng(支持png):
   解压libpng-(version).tar.gz,进入[libpng解压目录]执行如下命令安装libpng:
./configure --prefix=[libpng安装目录] --enable-shared --enable-static
make
make install

(4) 安装freetype:
   解压freetype-(version).tar.gz,进入[freetype解压目录]执行如下命令安装freetype:
./configure --prefix=[freetype安装目录]
make
make install

(5) 安装gettext(安装gd可能需要):
   解压gettext-(version).tar.gz,进入[gettext解压目录]执行如下命令安装gettext:
./configure --prefix=[gettext安装目录]
make
make install

(6) 安装gd:
   解压gd-(version).tar.gz,进入[gd解压目录]执行如下命令安装gd:
./configure --prefix=[gd安装目录] --with-jpeg=[jpeg-6b安装目录] --with-png=[libpng安装目录] --with-freetype=[freetype安装目录] --with-gettext=[gettext安装目录]
(如./configure --prefix=/opt/gd-2.0.35 --with-jpeg=/opt/jpeg-6b/ --with-png=/opt/libpng-1.2.35/ --with-freetype=/opt/freetype-2.3.5/ --with-gettext=/opt/gettext-0.17/)
make
make install

安装时如果出现
configure.ac:64: error: possibly undefined macro: AM_ICONV
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.

   查看/usr/lib目录下的libattr.a是不是灰色的,没有权限。如果是输入以下命令
   chmod 777 libattr.a
3. 将gd添加到php
    向php添加gd支持有两种方式,一种是初始安装,一种是追加安装。初始安装也有两种情况:一种是系统自带有gd时,用初始安装的方式,见3.1的(1);另一种是安装gd第三方插件,使用初始安装方式,按照3.1的(2)的方式安装(建议使用)。最后是追加安装,见3.2。(注:php-5.3.6只能用初始编译安装的方法添加gd)

3.1 初始编译安装
    在64位系统下还需要运行下面两句命令,来覆盖掉原有的/usr/lib/libjpeg.so和/usr/lib/libpng.so:
ln -s /usr/lib64/libjpeg.so.62.0.0  /usr/lib/libjpeg.so 
ln -s /usr/lib64/libpng.so.3.10.0  /usr/lib/libpng.so 

编译php时,向./configure命令追加如下内容--with-jpeg=[jpeg-6b安装目录] --with-png=[libpng安装目录] --with-freetype=[freetype安装目录] --with-gettext=[gettext安装目录] --with-gd=[gd安装目录]
(1) 系统自带有gd
tar zxvf php-5.3.6.tar.gz
cd php-5.3.6
./configure --with-config-file-path=[php安装目录] --prefix=[php安装目录] --with-bz2 --enable-zip --enable-mbstring --with-apxs2=[apache安装目录]/bin/apxs --with-zlib-dir=/usr/include/ --with-libxml-dir=/usr/lib64/ --with-gd --with-jpeg-dir=/usr/ --with-png-dir=/usr/ --with-freetype-dir=/usr/ --enable-soap --enable-calendar 
make
make install

(2) 第三方插件gd
tar zxvf php-5.3.6.tar.gz
cd php-5.3.6
  ./configure --with-config-file-path=[ph