Linux下PHP GD库的安装与开启方法

发布时间:2020-12-27编辑:脚本学堂
本文介绍下,在linux系统中安装与配置php gd库的方法,分享下php gd库在linux下的开启方法,有需要的朋友参考下。

1、首先,下载源码包
http://google-desktop-for-linux-mirror.googlecode.com/files/gd-2.0.35.tar.gz
http://down1.chinaunix.net/distfiles/jpegsrc.v6b.tar.gz
ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.2.tar.gz
http://google-desktop-for-linux-mirror.googlecode.com/files/zlib-1.2.3.tar.gz
http://down1.chinaunix.net/distfiles/freetype-1.3.1.tar.gz
http://down1.chinaunix.net/distfiles/gettext-0.16.1.tar.gz

2、安装zlib
 

复制代码 代码示例:
# tar xvzf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
# ./configure
# make && make install

3、安装freetype
 

复制代码 代码示例:
# tar xvzf freetype-1.3.1.tar.gz
# cd freetype-1.3.1
# ./configure --prefix=/usr/local/freetype
# make && make install
 

有多行错误类似:ftdump.c:172:1: error: pasting "." and "glyph_object" does not give a valid preprocessing token

解决方法:修改 test/ftdump.c 里面的代码:
将 Print_Mem( memory_footprint.##field, string )  改为: Print_Mem( memory_footprint.field, string )
将 #define FOOTPRINT( field ) Save_Memory( &memory_footprint.##field ) 改为: #define FOOTPRINT( field ) Save_Memory( &memory_footprint.field )
重新make && make install
或修改Makefile.in:
 

复制代码 代码示例:
1. 去掉all: ttlib tttest ttpo中的tttest
2. 删除
install:
        cd $(FTLIBDIR); $(MAKE) -f $(MAKEFILE) install
        cd $(FTTESTDIR); $(MAKE) -f $(MAKEFILE) install
        cd $(FTPODIR); $(MAKE) install
中的 cd $(FTTESTDIR); $(MAKE) -f $(MAKEFILE) install
# ./configure --prefix=/usr/local/freetype
# make && make install
 

4、安装libpng
 

复制代码 代码示例:
# tar xvzf libpng-1.5.2.tar.gz
# cd libpng-1.5.2
# ./configure --prefix=/usr/local/libpng
# make && make install

5、安装jpegsrc
 

复制代码 代码示例:
# tar xvzf jpegsrc.v6b.tar.gz
# cd jpegsrc.v6b
# ./configure --prefix=/usr/local/jpeg6  –enable-shared –enable-static
# make && make install
 

可能的错误:提示文件夹不存在,应该是程序不能自动创建文件夹吧,根据提示的错误,手动用mkdir创建文件就可以了。
本次例如:
 

复制代码 代码示例:
# mkdir -p /usr/local/jpeg6/include/
# mkdir -p /usr/local/jpeg6/lib/
# mkdir -p /usr/local/jpeg6/bin/cjpeg
# mkdir -p /usr/local/jpeg6/man/man1/

6、安装gettext(有的直接就有,可以先安装GD库,报错再返回来安装)
 

复制代码 代码示例:
# tar xvzf gettext-0.16.1.tar.gz
# cd gettext-0.16.1
# ./configure --prefix=/usr/local/gettext
# make && make install

7、安装GD库
 

复制代码 代码示例:
# tar xvzf gd-2.0.35.tar.gz
# cd gd-2.0.35
# ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg6 --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype
# make
# make install
 

configure...这一步可能的错误:configure.ac:64: error: possibly undefined macro: AM_iconv,这个就必须安装gettext(步骤6中有讲)

8、生成gd.so
 

复制代码 代码示例:
# cd ../php-5.2.17/ext/gd/
#/usr/local/php5/bin/phpize
#./configure --with-php-config=/usr/local/php5/bin/php-config --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-gd=/usr/local/gd/ --with-freetype-dir=/usr/local/freetype/
# make && make install
 

这时在make install的结尾会有gd库存放的位置,从那个文件夹中将gd.so复制到扩展库目录中

9、修改PHP.ini
在php.ini中添加如下内容
 

复制代码 代码示例:
extension=gd.so

10、安装结束,重启apache服务
 

复制代码 代码示例:
# service httpd restart