讓你的PHP同時支援GIF、png、JPEG

來源:互聯網
上載者:User
讓你的PHP同時支援GIF、png、JPEG

在RedHat6.2按php的manual編譯安裝,發現只能處理GIF映像,不能處理JPEG映像。後來知道PHP處理映像,使用了GD庫,而GD庫開始時是支援GIF的,但由於GIF使用了有著作權爭議的LZW演算法,會引起法律問題,於是從GD-1.6開始,GD庫不再支援GIF,改為支援更好的,無著作權爭議的PNG。而我現在希望同時支援GIF,PNG和JPEG。

1、 Jpeg6b的安裝
RedHat6.2中已經有了RPM包,我們也就不需要去費勁編譯了。
    放入安裝盤
    mount /mnt/cdrom
    cd /mnt/cdrom/RedHat/RPMS
    rpm -ivh libjpeg*

安裝成功,用rpm -ql libjpeg-6b-10 查看,發現libjpeg.so.62.0.0被拷到/usr/lib目錄下。記住此目錄,等會兒配php時要用。

2、 GD-1.8.3的安裝
擷取GD源碼的地址為:
http://www.boutell.com/gd/
你當然可以自己編譯,但它不支援jpeg,要打補丁。
擷取補丁源碼的地址為:
http://www.webofsin.com/gd-1.8.3-gif.patch
接下來………………麻煩死了……勸你還是不要自己編譯了!!

有現成的東西為何不用呢?已經有人打好補丁編譯好了,做成RPM。
可以在:
http://rpms.arvin.dk/rh7-backports/gd/
http://rpms.arvin.dk/gd-with_gif/
得到。世上竟然有這麼好的人?;-<
真令人感動!!!

下載了幾個gd-with_gif*.rpm後直接 rpm -ivh gd-with_gif* 安裝。
用 rpm -ql gd-with_gif-1.8.3-7 查看
發現 libgd.so.1.8.3 放到了 /usr/gd-with_gif/lib 下
記住此目錄,配php時也要用。

3、 PHP的安裝和配置
鑒於曾聽說php4.0不支援jpeg(不知記錯沒),我建議還是用php的最新版。
下面的,大家應該熟悉得不能再熟悉了吧?
於是我把php的manual抄下來:
---------------------------------
1.  gunzip apache_1.3.x.tar.gz
2.  tar xvf apache_1.3.x.tar
3.  gunzip php-x.x.x.tar.gz
4.  tar xvf php-x.x.x.tar
5.  cd apache_1.3.x
6.  ./configure --prefix=/www
7.  cd ../php-x.x.x
8.  這裡是關鍵!!!
    ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars --with-jpeg-dir=/usr/lib --with-gd=/usr/gd-with_gif/lib
    當然你也可以加上你自己的選項,此不贅述。
9.  make
10. make install
11. cd ../apache_1.3.x
12. for PHP 4: ./configure --activate-module=src/modules/php4/libphp4.a
13. make
14. make install

  Instead of this step you may prefer to simply copy the httpd binary
  overtop of your existing binary.  Make sure you shut down your
  server first though.

15. cd ../php-x.x.x
16. for PHP 4: cp php.ini-dist /usr/local/lib/php.ini

  You can edit your .ini file to set PHP options.  If
  you prefer this file in another location, use
  --with-config-file-path=/path in step 8.

17. Edit your httpd.conf or srm.conf file and add:
     For PHP 4:   AddType application/x-httpd-php .php

  You can choose any extension you wish here.  .php is simply the one
  we suggest. You can even include .html .


18. Use your normal procedure for starting the Apache server. (You must
    stop and restart the server, not just cause the server to reload by
    use a HUP or USR1 signal.)
---------------------------------------
      
終於成功了,你可以啟動apache用phpinfo()試一試,發現gd那裡:
----------------------
        gd
GD Support enabled
GD Version 1.6.2 or higher
GIF Support enabled
PNG Support enabled
JPG Support enabled
WBMP Support enabled
----------------------

^_^哈哈哈哈哈哈哈哈哈^_^
你現在可以用到所有的php圖形函數了:
ImageCreateFromGIF() — Create a new image from file or URL
ImageCreateFromJPEG() — Create a new image from file or URL
ImageCreateFromPNG() — Create a new image from file or URL
……
絕對沒問題!!!!


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.