1. 程式人生 > >centos6.5下 GD庫不支援jpeg的問題

centos6.5下 GD庫不支援jpeg的問題

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 instal

或者修改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