本视频详细编译安装GD库整个过程,让php对更多图形方面gif jpg(jpeg) png wbmp xml 和 ttf字体 的支持。
我先启动CentOS5.1 Linux
可以说如果要配置一台LAMP服务器,都离不开安装gd库,就算自己php开发不涉及到图形方面,
但是如果使用其他一些php开发的工具也会涉及到。
我安装的环境是使用 CentOS5.1 Linux 操作系统.
简单介绍一下gd库:
gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。
在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。
也就是有了gd库,我们用php对图片的处理将会得心应手。
等下看我演示如何将 tar.gz 文件 传到虚拟机上的CentOS5.1 操作系统上去。
我用 putty 登陆上CentOS5.1, Linux 的ip是192.168.1.118
通过一个工具 webserver 在window上架设一个简单的web服务器
webserver(运行在windows的web小服务器).7z 下载webserver这个工具
http://127.0.0.1:2000 测试 webserver 是否成功工作 , 看到这个页面表示成功了
192.168.1.107 这是我 window 的ip地址。 最后看我操作
我们先安装ncurses-5.6.tar.gz,安装gd库会用到的
去下载一个ncurses-5.6.tar.gz
也可以下载:ncurses-5.6(安装GD库前需要安装的).7z
把 ncurses-5.6.tar.gz 放入 webserv 目录, 看上去像我现在这样。
然后我们在Linux上用 wget http://192.168.1.107:2000/ncurses-5.6.tar.gz 下载在window的文件
解压操作
tar zxvf ncurses-5.6.tar.gz
进入目录
cd ncurses-5.6
生成 makefile文件,再进一步编译
./configure --prefix=/usr --with-shared --without-debug
编译,编译时间稍微长些,稍等
make
编译好最后就是安装了
make install
==================================
下面才开始安装 GD库,安装gd库成功与否,与下面的安装顺序有一定的关系
我们就一步步来演示安装, 下面所有用到的文件,可以到
文章最后下载 GD库 打包,集合所有需要的文件,省得大家到处找,浪费不必要的时间
把全部的文件 都放进 webserv 目录下
1:安装zlib2
同样, 在Linux下使用 wget 来下载文件
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
make
make install
---------------------------------
2:安装PNG
tar zxvf libpng-1.2.26.tar.gz
cd libpng-1.2.26
cp scripts/makefile.linux ./makefile
./configure --prefix=/usr/local/libpng
make
make install
---------------------------------
3:安装ttf ( ttf 是字体的支持 )
tar zxvf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure --prefix=/usr/local/freetype
make
make install
---------------------------------
4:安装JPEG6
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir -pv /usr/local/libjpeg/{,bin,lib,include,man/man1,man1}
上面这个命令具体是实现这样的:
mkdir: created directory `/usr/local/libjpeg'
mkdir: created directory `/usr/local/libjpeg/bin'
mkdir: created directory `/usr/local/libjpeg/lib'
mkdir: created directory `/usr/local/libjpeg/include'
mkdir: created directory `/usr/local/libjpeg/man'
mkdir: created directory `/usr/local/libjpeg/man/man1'
mkdir: created directory `/usr/local/libjpeg/man1'
可以说是一个小小的bug吧,要我们手动建立这些目录,否则configure时候会说找不到目录。
./configure --prefix=/usr/local/libjpeg --enable-shared --enable-static
make
make install
---------------------------------
5:安装 libxml2
tar zxvf libxml2-2.6.31.tar.gz
cd libxml2-2.6.31
./configure --prefix=/usr/local/libxml2
make
这一步make 操作 时间相对也会比较长,呵呵
make install
cp xml2-config /usr/bin
---------------------------------
6:安装 libmcrypt-2.5.7.tar.gz
tar zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make
make install
---------------------------------
7:安装Fontconfig
tar -zxvf fontconfig-2.4.2.tar.gz
cd fontconfig-2.4.2
可以看到, 参数比较长, 我建议用记事本的朋友不要选择 自动换行。
看我操作, 自动换行 复制过去执行有时会出错。去掉 自动换行
./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/local/freetype/bin/freetype-config
这里显示一个错误信息:
checking for LIBXML2... configure: error: Package requirements (libxml-2.0 >= 2.6) were not met:
No package 'libxml-2.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBXML2_CFLAGS
and LIBXML2_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
但是我们在上面其实已经安装上 libxml2 了的,这里只是一个 环境变量没有设置好而已。
解决办法: 确定 /usr/local/libxml2/lib/pkgconfig 目录下有 libxml-2.0.pc
export PKG_CONFIG_PATH=/usr/local/libxml2/lib/pkgconfig:$PKG_CONFIG_PATH
再次生成 makefile , 这样就成功了
./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/local/freetype/bin/freetype-config
好了吧,没有出现那个错误了。
make
make install
---------------------------------
8:安装GD库,我们把这一步放在最后面
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/libgd --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/libjpeg --with-fontconfig=/usr/local/fontconfig
看到下面的信息, 呵呵 很多都显示支持了
Support for PNG library: yes
Support for JPEG library: yes
Support for Freetype 2.x library: yes
Support for Fontconfig library: yes
Support for Xpm library: no
Support for pthreads: yes
make
make install
好了, 到这里为止 安装GD库全部过程演示完了,
这样还是不是很好的感觉出来,等我们下一节视频-
就是把 php5.2.6也装上了,那么才知道 php 支持了 gif jpg png wbmp xml ttf字体
如果大家在跟着视频学习的过程中 遇到什么问题或者有什么建议,欢迎给我们留言
或者给我们点支持。 呵呵
演示就到这里, 还有,我们清理一下东西, 呵呵,看我操作
把这些下载的文件 和 解压的文件全部 删除
使用 rm -rf * ( 请大家小心使用这个命令!后果自负 呵呵 )
04月 19th, 2009 at 13:45:12 #yangrunshu
您好,我在安装png 是 没有生成/usr/local/libpng,后我自己手建了/usr/local/libpng 下面没不什么内容,
在安装ttf 时也没有自动生成/usr/local/freetype,后来我手建,下面生成文件等,
我的系统centos 4
[回复]
baicaireply on 2009-12-09 16:34:59:
不好意思我不是管理员,只是我也在使用CentOS 4 我的QQ是708805791 希望我们能一起交流!
04月 19th, 2009 at 14:14:10 #yangrunshu
成功了,但我不知道,/usr/local/ 下没有 libpng 会什么影响
[回复]
adminreply on 2009-04-22 11:04:52:
看看装好php测试一下libpng是否可用就行了。
04月 23rd, 2009 at 16:06:13 #hardy19a
我沒有成功
用的是5.2的版本
libpng目錄也沒有
一路順暢
就是make gd的時候一會就報錯了
[回复]
adminreply on 2009-04-24 11:14:24:
cp scripts/makefile.linux ./makefile
./configure --prefix=/usr/local/libpng
配置生成make file 文件时,要指定 --prefix=/usr/local/libpng
不然会按照默认来安装的。
05月 6th, 2009 at 10:51:06 #lisdoo
你好:
若若地问一下,PHP的图形开发库有没有类似官方站点的下载地址?
比如说php 的tar 包在 php.net 下载
mysql的tar 包在 mysql.com 下载
apache、zend 都有官方站点下载
jpeg、ttf、zlib、png、gd 有没有呢
[回复]
adminreply on 2009-05-07 18:49:24:
可能有的, 我的都是网上下载下来的。
我也有提供打包下载。
文章最后提供了 下载地址。如果要最新版就要网上再找找呢。
05月 8th, 2009 at 13:32:21 #lisdoo
哦,谢谢啊
[回复]
05月 12th, 2009 at 14:35:06 #kitt
你好!
我在安装GD库中的Fontconfig时,执行到
./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/local/freetype/bin/freetype-config
命令时出现以下错误:
configure: WARNING: Cannot find usable expat library. Trying to use libxml2 as fallback.
checking for pkg-config... no
checking for LIBXML2... configure: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
Alternatively, you may set the environment variables LIBXML2_CFLAGS
and LIBXML2_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
To get pkg-config, see .
See `config.log' for more details.
然后make命令也执行不了
请问是什么原因,我装的数据库是mysql5.0.45,系统是centos5.1
[回复]
adminreply on 2009-05-12 15:40:25:
Cannot find usable expat library 你可能没有安装 libxml2 。
安装GD库的时候,建议你把上面视频的都安装上,而且按照顺序。
看看能否可以解决你遇到的问题吧。
05月 12th, 2009 at 20:07:41 #kitt
呵呵!回复真是及时啊,非常感谢!我原来在虚拟机里试过按照视频安装,安装成功了,安装GD库的时候也没有问题,这次我是在服务器上安装的,而且mysql版本也换成5.0.45了,试了两次都是安装到这一步出现问题的,libxml2之前已经安装过了,顺序也没错,而且/usr/local/libxml2/lib/pkgconfig 目录下有 libxml-2.0.pc,所以感觉非常奇怪。
[回复]
kittreply on 2009-05-12 20:30:35:
会不会是mysql版本有影响呢?我装mysql5.0.45时,还执行了yum -y install gcc和yum install gcc-c++两条命令。
adminreply on 2009-05-13 12:42:21:
mysql应该没多大影响的,不过你是执行 yum -y install gcc和yum install gcc-c++ 有可能这个吧,我是使用centos自带的开发工具的。
试了两次都是安装到这一步出现问题的, 2次都是 通过yum 来安装 gcc ??
kittreply on 2009-05-13 15:10:07:
对,是不是在安装centos时必须选择Development Tools才行啊?
adminreply on 2009-05-13 21:25:05:
不是的,但是除了yum安装gcc, 别的步骤都一样,只好怀疑这个了。呵呵
kittreply on 2009-05-14 11:08:19:
问题已经解决了,谢谢!但还有个问题,为什么在phpmyadmin中无法看到gbk字符集啊?
adminreply on 2009-05-14 12:24:02:
不清楚,一直统一使用utf-8,不过mysql 4 以上版本应该都有的。
paganreply on 2009-06-08 02:29:42:
我也碰到同样的问题,CentOS 4.7,安装了Apahe2.0.52 / PHP4.3.9,尚未安装MySQL。我也是yum install gcc 和 install gcc-c++,确定 /usr/local/libxml2/lib/pkgconfig 目录下有 libxml-2.0.pc,也执行了环境变量设定export PKG_CONFIG_PATH=/usr/local/libxml2/lib/pkgconfig:$PKG_CONFIG_PATH。求问题解决公开...
kittreply on 2009-05-14 11:08:19:
问题已经解决了
paganreply on 2009-06-08 02:43:28:
不死心,搜索到expat相关的条目,看起来好像真的是编译环境的问题,安装了一个组件:yum install expat-devel
上述问题解决。如果Linux系统安装时开发包安全完全,应该就不会有这个问题了。谢谢kitt先提出了这个问题并留下解决的提示,谢谢站长的安装指南!
adminreply on 2009-06-08 09:10:30:
呵呵,我安装Linux 系统都习惯只把开发工具全安装,其他都不安装。
06月 4th, 2009 at 01:13:52 #hardy
cp scripts/makefile.linux ./makefile
我找到错误了。。。
就是这句。。。我直接图形化复制过来就过来了
但是如果打入这个命令就不行。。。
[回复]
hardyreply on 2009-06-04 01:30:08:
貌似不是。。还是没有那个目录。。占提示吧。。。
12月 9th, 2009 at 19:22:16 #baicai
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir -pv /usr/local/libjpeg/{,bin,lib,include,man/man1,man1}
上面这个命令具体是实现这样的:
mkdir: created directory `/usr/local/libjpeg'
mkdir: created directory `/usr/local/libjpeg/bin'
mkdir: created directory `/usr/local/libjpeg/lib'
mkdir: created directory `/usr/local/libjpeg/include'
mkdir: created directory `/usr/local/libjpeg/man'
mkdir: created directory `/usr/local/libjpeg/man/man1'
mkdir: created directory `/usr/local/libjpeg/man1'
./configure --prefix=/usr/local/libjpeg --enable-shared --enable-static
当到了make的时候 , 就出现了错误提示!
之前安装zlib2,PNG,ttf 都没有出现问题!
[root@localhost jpeg-6b]#make
./libtool --mode=compile gcc -o2 -I. -c ./jcapimin.c
make: ./libtool: 命今未找到
make:***[jcapimin.lo] 错误码率127
[root@localhost jpeg-6b]#
[回复]
03月 22nd, 2010 at 15:28:51 #xufeng
谢谢网站为所有学习者提供了非常详细清晰的视频信息,看到这些详细的视频,我只能用四个字来形容:“相逢恨晚”了,呵呵。我根据视频的步骤能够完成整个安装过程,只是在安装libpngj时出现了一个错误,提示zlib未安装,我是根据视频的顺序来安装的,后来在网上查了一下说在安装zlib时可以不用定义目录,即直接./configure 结果这样之后在安装libpng时就没有出现错误提示了,但视频当中的却不会出现这个问题,应该是环境变量的问题吧。
强烈建议管理员们开设QQ群,让大家交流学习,最后在此留下小小建议,就是在视频的最后能否提供一个关于下一个视频的内容信息,好让读者们按视频制作者的思路和方法去有条理的学习。
[回复]
adminreply on 2010-03-27 10:57:17:
呵呵,谢谢你的意见, 我以后会尽量提醒下一次视频的内容的。现在只是偶尔有些提及到下一个视频的信息。
04月 16th, 2010 at 15:13:06 #ted
./configure --prefix=/usr/local/libjpeg --enable-shared --enable-static
当到了make的时候 , 就出现了错误提示!
之前安装zlib2,PNG,ttf 都没有出现问题!
[root@localhost jpeg-6b]#make
./libtool --mode=compile gcc -o2 -I. -c ./jcapimin.c
make: ./libtool: 命今未找到
make:***[jcapimin.lo] 错误码率127
qq:148167222
诚求解答
[回复]
05月 25th, 2010 at 17:07:57 #吴鹏生
请教您一个问题
在安装libpng时出现一个错误
configure: error: zlib not installed
我明明事前安装好的zlib啊
我把zlib重新make clean一下后重新安装
还是这个错误提示
后来我又设置了环境变量
export LDFLAGS=-L$ROOTFS_DIR/usr/local/lib
export CFLAGS=-I$ROOTFS_DIR/usr/local/include
但是还是这个提示
configure: error: zlib not installed
请问我该怎么做?谢谢
[回复]