GD庫在 linux 的安裝
原來GD不支援WBMP,現在擴充GD支援WBMP.
問題:
安裝RedHat 7.2 後,進行PHP編程,發現只能處理GIF圖像,不能處理JPEG圖像。
後來知道PHP處理圖像,使用了GD庫,而GD庫開始時是支援GIF的,但由於GIF使用了有版權爭議的LZW演算法,會引起法律問題,於是從GD-1.6開始,GD庫不再支援GIF,改為支援更好的,無版權爭議的PNG。而我現在希望同時支援GIF,PNG和JPEG。由底向上的順序介紹,即Jpeg->ttf->zlib->png->GD->PHP->Apache。
1. Jpeg6b的安裝和配置
Jpeg的主要文件有jpeglib.h, libjpeg.a, libjpeg.so等。首先檢查系統中安裝了沒有,到/usr/include目錄下看有無jpeglib.h,到/usr/lib目錄下看有無libjpeg.a和libjpeg.so。我的系統中沒有,因而要安裝。
獲取Jpeg源碼的地址為:
ftp://ftp.uu.net/...s/jpeg/取得的文件為jpegsrc.v6b.tar.gz,放於/usr/src目錄下。
進入/usr/src目錄中,開始安裝過程。進入/usr/src:
cd /usr/src
解開壓縮文件:
tar xzvf jpegsrc.v6b.tar.gz
命令完成後多了一個子目錄jpeg-6b,Jpeg的源碼文件就在其中。進入該子目錄:
cd jpeg-6b
該目錄中的install.doc文件詳細介紹了如何安裝Jpeg,照章行事即可。配置生成Makefile文件:
./configure
命令完成後該目錄下多了個Makefile文件。Makefile文件是許\多軟體編譯、安裝的配置和程序控制文件,十分重要,應該學會看懂它的內容。開始編譯:
make
命令完成後該目錄下多了許\多文件,其中重要的是libjpeg.a和libjpeg.so。安裝:
make install
命令完成後,jpeglib.h被拷到/usr/include目錄下,libjpeg.a和libjpeg.so被拷到/usr/local/lib目錄下。
2. ttf 的安裝和配置
http://www.fre....orgfreetype-1.3.1.tar.gz
tar -xzvf freetype-1.3.1.tar.gz
./configure
命令完成後該目錄下多了個Makefile文件。Makefile文件是許\多軟體編譯、安裝的配置和程序控制文件,十分重要,應該學會看懂它的內容。開始編譯:
make
make install
編譯gd 的時候有error don\'t found the freetype.h 所以
cp /usr/local/include/freetype/* /usr/local/include/
3. zlib 安裝
Becaust the note, you must install the zlib first!
Before installing libpng, you must first install zlib. zlib
can usually be found wherever you got libpng. zlib can be
placed in another directory, at the same level as libpng.
Note that your system might already have a preinstalled
zlib, but you will still need to have access to the
zlib.h and zconf.h include files that correspond to the
version of zlib that\'s installed.
http://www.gzip...zlib/ftp://ftp.uu.net/graphics/p...1.1.3.tar.gz./configure
make
make install
4. libpng 安裝:
Read INSTALL
http://www.libpng...b/png/libpng-1.2.0.tar.gz
UNIX example: cp scripts/makefile.std makefile
make
make install
5. GD-1.8.3的安裝和配置
GD的主要文件有gd.h, libgd.a等。獲取GD源碼的地址為:
http://www.bout...m/gd/取得的文件為gd-1.8.3.tar.gz,放於/usr/src目錄下。已知道該版本的GD不支援GIF,但想來象我一樣希望GD同時支援GIF和JPEG的人不少,於是有人做了個補丁,把對GIF的支援加回去了。看起來這是個英國人吧,他的Email地址為
adam@elysium.ltd.uk。獲取補丁源碼的地址為:http://www.webofsin.com/gd-1.8.3-gif.patch 取得的文件為gd-1.8.3-gif.patch,放於/usr/src目錄下。進入/usr/src:
cd /usr/src
解開壓縮文件:
tar xzvf gd-1.8.3.tar.gz
命令完成後多了一個子目錄gd-1.8.3,GD的源碼文件就在其中。給源碼打補丁:
patch -p0 <>
命令完成後gd-1.8.3子目錄下多了個gd_gif.c文件,而文件gd.h和Makefile也被作了相應修改。進入該子目錄:
cd gd-1.8.3
缺省情況下,GD庫編譯時並不加入JPEG支援,得修改Makefile文件。修改Makefile文件,使得:
CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
此後,編譯並安裝:
make
make install
命令完成後,gd.h被拷到/usr/local/include目錄下,libgd.a被拷到/usr/local/lib目錄下。
php apache 以SO方式安裝。
6. php-4.0.6的安裝和配置
PHP的主要文件有libphp4.a, libphp4.so等。獲取PHP源碼的地址為:http://php.net
取得的文件為php-4.0.6.tar.gz,放於/usr/src目錄下。
進入/usr/src目錄並解壓文件:
cd /usr/src
tar xzvf php-4.0.6.tar.gz
命令完成後多了一個子目錄php-4.0.6,PHP的源碼文件就在其中。進入該子目錄:
cd php-4.0.6
php
./configure
--with-apache=/usr/local/apache_1.3.26
--enable-track-vars
--enable-debug
--enable-url-includes
--enable-sockets
--with-gd=/usr/local
--enable-gd-native-ttf
--with-ttf=/usr/local
--with-jpeg-dir=/usr/local
--with-zlib-dir=/usr/local
--with-png-dir=/usr/local
編譯並安裝:
make
make install
命令完成後,libphp4.so被拷到/usr/lib/apache目錄下。
7. apache_1.3.12的安裝和配置
./configure
--prefix=/usr/local/apache
--activate-module=src/modules/php4/libphp4.a
--enable-module=so
--enable-module=negotiation
--enable-module=status
--enable-module=include
--enable-module=autoindex
--enable-module=cgi
--enable-module=asis
--enable-module=imap
--enable-module=actions
--enable-module=userdir
--enable-module=alias
--enable-module=setenvif
make
make install