配置PHP使之能同时支持GIF和JPEG

主题素材:安装蓝点Linux
2.0后,进行PHP编制程序,开掘只好管理GIF图像,无法管理JPEG图像。后来知道PHP管理图像,使用了GD库,而GD库初阶时是帮忙GIF的,但由于GIF使用了有版权纠纷的LZW算法,会唤起法律难点,于是从GD-1.6开端,GD库不再援救GIF,改为协理更加好的,无版权争论的PNG。而自己明天期待同期协理GIF,PNG和JPEG。经过尝试,笔者成功地成功了那或多或少。上边介绍具体做法。作者的配备为:蓝点Linux
2.0,Kernel-2.2.16,MySQL-3.23.10alpha,Apache-1.3.12,PHP4.0.1pl2,gd-1.8.3,Jpeg6b。笔者将安份守己由底向上的逐个介绍,即Jpeg-GD-PHP-Apache。
0、 当前意况查看 安装蓝点Linux
2.0后,Kernel,MySQL,Apache未做任何变动,看看当前事态怎样。
创造一PHP文件,名叫info.php,放于Apahce的文书档案目录下,其内容如下: ?
phpinfo(卡塔尔国; ? 文件就唯有1行。用浏览器展开该文件UTiggoL:
如若Apache/PHP不奇怪运维以来,页面少校会列出PHP版本,Apache版本,以致别的各类立见成效的音讯。笔者关心的是GD库部分,看看它是不是补助GIF、JPEG,结果开采帮衬GIF而不支持JPEG。
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/local/include目录下,libjpeg.a和libjpeg.so被拷到/usr/local/lib目录下。
2、 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。
获取补丁源码的地点为:
取得的公文为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目录下。
3、 PHP-4.0.1pl2的装置和配备 PHP的显要文件有libphp4.a, libphp4.so等。
获取PHP源码的地点为:
获得的文件为php-4.0.1pl2.tar.gz,放于/usr/src目录下。
步入/usr/src目录并解压文件: cd /usr/src tar xzvf php-4.0.1pl2.tar.gz
限令实现后多了一个子目录php-4.0.1pl2,PHP的源码文件就在此中。
走入该子目录: cd php-4.0.1pl2
该目录中的INSTALL文件详细介绍了怎么设置PHP,照章行事就能够。
配置生成Makefile文件: ./configure ‘–with-apxs=/usr/sbin/apxs’
‘–with-mysql’ ‘–with-config-file-path=/etc/’ ‘–enable-safe-mode’
‘–with-system-regex’ ‘–disable-debug’ ‘–with-zlib’
‘–enable-magic-quotes’ ‘–enable-track-vars’
‘–with-jpeg-dir=/usr/local’ ‘–with-gd=/usr/local’
注意最终一行参数’–with-jpeg-dir=/usr/local’
‘–with-gd=/usr/local’,指明了Jpeg和GD的目录为/usr/local,那是基于步骤1、第22中学make
install的结果而内定的。 命令实现后该目录下多了个Makefile文件。
编写翻译并设置: make make install
命令达成后,libphp4.so被拷到/usr/lib/apache目录下。 4、 Apache的安排Apache本身不必再一次编译安装,但利用了新的PHP,须让Apache知道,得纠正Apache的安插文件同等对待启Apache服务。
修正Apache配置文件/etc/,使得文件中满含以下几行: LoadModule
php4_module modules/libphp4.so AddModule mod_php4.c AddType
application/x- .php3 .php
同一时候注意把旧的php3的呼应行注释掉,不然会现身冲突而使Apache重启退步。
重启Apache服务: /etc/rc.d/init.d/ restart 5、 实例测量试验再度按步骤0的注明检查当前景况,笔者曾经观察,PHP改成了新的版本号,GD库也相同的时候补助GIF和JPEG了。
但小编要么想用实例来测验一下,这一个事例的职能是读取三个gif文件,生成缩图,然后保留为另四个jpg文件。文件create-thumb.php的开始和结果如下:
? function CreateThumbnail($srcFile, $dstFile, $dstW, $dstH卡塔尔(قطر‎ { $data =
GetImageSize($srcFile,&$info卡塔尔; switch ($data[2]) { case 1: $im =
@ImageCreateFromGIF($srcFile); break; case 2: $im =
@ImageCreateFromJPEG($srcFile); break; case 3: $im =
@ImageCreateFromPNG($srcFile); break; } $srcW=ImageSX($im);
$srcH=ImageSY($im); if ($srcW = $dstW && $srcH = $dstH)
ImageJPEG($im,$dstFile); else { if(($srcW / $srcH) ($dstW / $dstH))
$dstH = $dstW * $srcH / $srcW; else $dstW = $dstH * $srcW / $srcH;
$ni=ImageCreate($dstW,$dstH卡塔尔(قطر‎;
ImageCopyResized($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH卡塔尔国;
ImageJPEG($ni,$dstFile卡塔尔; } } CreateThumbnail(./test.gif, ./test-tn.jpg,
80, 80State of Qatar; ?
把该公文放于Apahce的文书档案目录下,同期把测量检验用的图像文件test.gif也放于该目录下,然后用浏览器展开该php文件:
没出错消息。再看Apahce的文书档案目录,多了叁个缩图像和文字件test-tn.jpg。
马到成功,班师回朝。

 使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目录下

  1. 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
  2. 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图片 1
You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图