GD庫的安裝(轉)

post0發表於2007-08-09
GD庫的安裝(轉)[@more@]

  使php支援 gif , jpeg , ttf ,wbmp

  為了安裝方便,我自己寫了一分GD安裝的過程,現在發表出來.希望朋友們多提意見,謝謝! 原來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/graphics/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 的安裝和配置

  

   freetype-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.

  

  ftp://ftp.uu.net/graphics/png/src/zlib-1.1.3.tar.gz

  ./configure

  make

  make install

4. libpng 安裝:

  Read INSTALL

  

  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原始碼的地址為:

  取得的檔案為gd-1.8.3.tar.gz,放於/usr/src目錄下。已知道該版本的GD不支援GIF,但想來象我一樣希望GD同時支援GIF和 JPEG的人不少,於是有人做了個補丁,把對GIF的支援加回去了。看起來這是個英國人吧,他的Email地址為adam@elysium.ltd.uk。獲取補丁原始碼的地址為: 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原始碼的地址為:

  取得的檔案為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 (linux知識寶庫

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-939260/,如需轉載,請註明出處,否則將追究法律責任。

相關文章