[Linux]如何讓GD支援gif

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
主題已鎖定
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

[Linux]如何讓GD支援gif

文章 ETERNAL »

主機環境: redhat7.2 + apache 2 + php 4.3.2

我在測試虛擬形象時發現到我所安裝的GD不支援gif

代碼: 選擇全部

array(10) {
  ["GD Version"]=>
  string(13) "2.0 or higher"
  ["FreeType Support"]=>
  bool(false)
  ["T1Lib Support"]=>
  bool(false)
  ["GIF Read Support"]=>
  bool(false)
  ["GIF Create Support"]=>
  bool(false)
  ["JPG Support"]=>
  bool(true)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(false)
  ["JIS-mapped Japanese Font Support"]=>
  bool(false)
}
然後試著在\r
http://www.rime.com.au/gd/

下載gif的patch來更新--->(安裝成功)但是在php上顯示不支援gif-->失敗

下載已經patch完成後的來安裝--->(安裝成功)但是在php上顯示不支援gif-->失敗

ps. php都有重編,apache也有restart過..
---------------------------------------------------------------------------
然後退一步\r
下載1.8.4以及1.8.3
GD安裝成功,但是php在make會出現error,無法繼續make下去\r
大概是php4.3.2不支援1.8X的GD吧\r
---------------------------------------------------------------------------


這是我編譯php時所使用的參數\r

代碼: 選擇全部

'./configure' '--with-mysql' '--with-xml' '--enable-track-vars' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-gd=/usr/local' 

有人成功讓GD支援GIF嗎?請幫助我解決,困擾了2天\r
感激不盡~~

msvs
星球普通子民
星球普通子民
文章: 8
註冊時間: 2003-07-05 20:46

文章 msvs »

新版本中虛擬形象是用GD參數來照相的

本文在介绍PHP下圖片處理支援的安裝方法,安裝後PHP支援GIF、PNG、JPEG、WBMP 四種格式的圖檔。

一、Windows下的安裝:
Windows的圖片支援安裝非常簡單,
下載PHP包含了所有的圖片支援,其中php_gd.dll不支援GIF格式,php_gd_gif.dll
支援上述所有的格式,需要支援以上四種格式,只需用php_gd_gif.dll覆蓋php_gd.dll 即可。
安裝完畢後用<? phpinfo(); ?>查看結果如下:
gd
GD Support enabled
GD Version 1.6.2 or higher
FreeType Support enabled
FreeType Linkage with TTF library
GIF Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

二、Unix/linux下的安裝
Unix的安裝比較麻煩,下面以最新的php 4.0.4pl1為例介绍在Solaris 7下gd-1.8.3
包含gif支援的安裝。
系统環境:Solaris 7、gcc 2.9.2、make 3.78.1、bison 1.2.8

jpeg-6b 的安裝:
檔案名稱:jpeg-6b-sol7-sparc-local.gz
版本:6b
下載網站:http://www.sunfreeware.com/
下載位置:ftp://ftp.sunfreeware.com/pub/freew...-sparc-local.gz
安裝方法:/usr/local/bin/gzip -d jpeg-6b-sol7-sparc-local.gz
pkgadd -d jpeg-6b-sol7-sparc-local

zlib 的安裝:
檔案名稱:zlib-1.1.3-sol7-sparc-local.gz
版本:1.1.3
下載網站:http://www.sunfreeware.com/
下載位置:ftp://ftp.sunfreeware.com/pub/freew...-sparc-local.gz
安裝方法:/usr/local/bin/gzip -d zlib-1.1.3-sol7-sparc-local.gz
pkgadd -d zlib-1.1.3-sol7-sparc-local

libpng 的安裝:
檔案名稱:libpng-1.0.2-sol7-sparc-local.gz
版本:1.0.2
下載網站:http://www.sunfreeware.com/
下載位置:ftp://ftp.sunfreeware.com/pub/freew...-sparc-local.gz
安裝方法:/usr/local/bin/gzip -d libpng-1.0.2-sol7-sparc-local.gz
pkgadd -d libpng-1.0.2-sol7-sparc-local

xpm 的安裝:
檔案名稱:xpm-3.4k-sol7-sparc-local.gz
版本:3.4
下載網站:http://www.sunfreeware.com/
下載位置:ftp://ftp.sunfreeware.com/pub/freew...-sparc-local.gz
安裝方法:/usr/local/bin/gzip -d xpm-3.4k-sol7-sparc-local.gz
pkgadd -d xpm-3.4k-sol7-sparc-local

freetype 的安裝:
檔案名稱:freetype-1.3.1.tar.gz
版本:1.3.1
下載網站:http://freetype.sourceforge.net/
下載位置:ftp://freetype.sourceforge.net/pub/...pe-1.3.1.tar.gz
安裝方法:/usr/local/bin/gzip -d < freetype-1.3.1.tar.gz | tar vxf -
cd freetype-1.3.1
./configure
make
make install

T1lib 的安裝:
檔案名稱:t1lib-1.0.1.tar.gz
版本:1.0.1
下載網站:ftp://ftp.neuroinformatik.ruhr-uni-...software/t1lib/
下載位置:ftp://ftp.neuroinformatik.ruhr-uni-...ib-1.0.1.tar.gz
安裝方法:/usr/local/bin/gzip -d < t1lib-1.0.1.tar.gz | tar vxf -
cd T1-1.0.1
./configure
make
make install

gd 的安裝:
檔案名稱:gd-1.8.3gif.tar.gz
版本:1.8.3
下載網站:http://www.rime.com.au/gd/
下載位置:ftp://ftp.rhyme.com.au/pub/gd/gd-1.8.3gif.tar.gz
安裝方法:/usr/local/bin/gzip -d < gd-1.8.3gif.tar.gz | tar vxf -
cd gd-1.8.3
./configure
(编輯 Makefile文件
改 CFLAGS=-O 為 CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
改 LIBS=-lm -lgd -lpng -lz 为 LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
改 INCLUDEDIRS=-I. -I/usr/local/include -I/usr/include/X11 -I/usr/X11R6/include/X11
為 INCLUDEDIRS=-I. -I/usr/local/include -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include/freetype

make
make install

PHP 的安裝:
檔案名稱:php-4.0.4pl1.tar.gz
版本:4.04 Patch Level 1
下載網站:http://www.php.net/
下載位置:http://www.php.net/do_download.php?...ite=www.php.net
安裝方法:/usr/local/bin/gzip -d < php-4.0.4pl1.tar.gz | tar vxf -
./configure --with-apache=../apache_1.3.17 --with-gd=/usr/local \
--with-jpeg-dir=/usr/local --with-xpm-dir=/usr/local \
--with-ttf=/usr/local/freetype --with-t1lib=/usr/local \
--with-zlib=/usr/local --with-tiff-dir=/usr/local \
--with-png-dir=/usr/local
(編輯 ext/gd/gd.c
尋找 #ifndef USE_GD_IOCTX 加入 #define gdImageCreateFromGifCtx NULL
替換 _php_image_create_from(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageCreateFromGif,NULL);
為 _php_image_create_from(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", dImageCreateFromGif,gdImageCreateFromGifCtx);

make
make install

您可以自行增加PHP的編輯選項來達到你自己的需要,linux下的安裝也差不多,

安裝完畢後用<? phpinfo(); ?>查看結果如下:
gd
GD Support enabled
GD Version 1.6.2 or higher
FreeType Support enabled
FreeType Linkage with TTF library
T1Lib Support enabled
GIF Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

希望上文對您能有所幫助

ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

很可惜..還是裝失敗了@@"
水色論壇 http://www.et99.net
簡德賢分享

火柴人
星球普通子民
星球普通子民
文章: 8
註冊時間: 2003-04-23 22:09
聯繫:

文章 火柴人 »

我也是在安裝GD時出現找不到一些header檔的問題..

火柴人
星球普通子民
星球普通子民
文章: 8
註冊時間: 2003-04-23 22:09
聯繫:

文章 火柴人 »

真羡慕呀!!!
安装RedHat 7.2 后,进行PHP编程,发现只能处理GIF图像,不能处理JPEG图像。

[转贴]

1.Jpeg6b的安装和配置\r

  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 的安装和配置\r


   http://www.freetype.org
   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 所以\r


  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.org/zlib/
  ftp://ftp.uu.net/graphics/png/src/zlib-1.1.3.tar.gz
  ./configure
  make
  make install



4. libpng 安装:


  Read INSTALL
  http://www.libpng.org/pub/png/
  libpng-1.2.0.tar.gz
  UNIX example: cp scripts/makefile.std makefile
  make
  make install



5.GD-1.8.3的安装和配置\r

  GD的主要文件有gd.h, libgd.a等。获取GD源码的地址为:http://www.boutell.com/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的安装和配置\r

  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的安装和配置\r


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

在北飄找到的
但沒時間試..

ponbaber
星球公民
星球公民
文章: 94
註冊時間: 2002-11-16 17:27
來自: 新竹空軍基地

文章 ponbaber »

......我找不到windows下安裝的php_gd_gif.dll去哪下載耶\r
我的extensions裡面有php_gd2.dll 說,可是也不能執行照相。
別人不給你的,學著自己先給別人
分享會加速學習也是快樂的動力~

頭像
jiminkao
星球公民
星球公民
文章: 134
註冊時間: 2002-10-07 15:20
來自: 蜂炮之鄉
聯繫:

文章 jiminkao »

如果是用 Appserv 架的,可重新安裝 2.2.0 版(內建 PHP 4.3.3)可解決\r
不然就升級 PHP 至 4.3.3
目前使用版本 Nuke7.6
圖檔

atthis
星球公民
星球公民
文章: 216
註冊時間: 2003-07-29 19:16

文章 atthis »

msvs 寫:二、Unix/linux下的安裝
Unix的安裝比較麻煩,下面以最新的php 4.0.4pl1為例介绍在Solaris 7下gd-1.8.3
包含gif支援的安裝。
系统環境:Solaris 7、gcc 2.9.2、make 3.78.1、bison 1.2.8
我的系統是Red Hat 9,灌完後就有gd-1.8了
不過拍照時會出現\r

代碼: 選擇全部

Warning: imagecreatetruecolor(): requires GD 2.0 or later in /var/www/html/phpBB2/facealbum.php on line 164

Warning: imagecolorallocate(): supplied argument is not a valid Image resource in /var/www/html/phpBB2/facealbum.php on line 167

Warning: imagecolorallocate(): supplied argument is not a valid Image resource in /var/www/html/phpBB2/facealbum.php on line 168

Warning: imagefill(): supplied argument is not a valid Image resource in /var/www/html/phpBB2/facealbum.php on line 169

Fatal error: Call to undefined function: imagecreatefromgif() in /var/www/html/phpBB2/facealbum.php on line 181
好像gd要2.0版以上才可以用,有人在linux下可以拍照的可以教一下嗎??

另外,ETERNAL 在水色上的虛擬形象都好可愛喔…是自已做的嗎,跟week9抓到的都不一樣

火柴人
星球普通子民
星球普通子民
文章: 8
註冊時間: 2003-04-23 22:09
聯繫:

文章 火柴人 »

RedHat 9的那個GD 是不支援gif的,我也在找尋解決方法,但是找不到>.<

頭像
jiminkao
星球公民
星球公民
文章: 134
註冊時間: 2002-10-07 15:20
來自: 蜂炮之鄉
聯繫:

文章 jiminkao »

火柴人 寫:RedHat 9的那個GD 是不支援gif的,我也在找尋解決方法,但是找不到>.<
試試這個(RedHat7.3)。
http://jimin.dfes.tnc.edu.tw/modules.ph ... cle&sid=76
目前使用版本 Nuke7.6
圖檔

主題已鎖定

回到「phpBB 2 安裝與使用」