如何配置PHP使之能同時支持GIF,PNG和JPEG
安裝藍點Linux 2.0後,小編希望希望同時支持GIF,PNG和JPEG。經過嘗試,終於做到了,下面是我的簡單步驟 ,我將按照由底向上的順序介紹,即Jpeg->GD->PHP->Apache。
1、當前狀態查看
安裝藍點Linux 2.0後,Kernel,MySQL,Apache未做任何改變,看看當前狀態如何。
創建一PHP文件,名為,放於Apahce的文檔目錄下(/etc/httpd/html),其內容如下:
<? phpinfo(); ?>
文件就只有1行。用瀏覽器打開該文件URL(我的hostname為zhangzh):
http://zhangzh/info.php
如果Apache/PHP正常運行的話,頁面中將會列出PHP版本,Apache版本,以及其他各種有用的信息。我關心的是GD庫部分,看看它是否支持GIF、JPEG,結果發現支持GIF而不支持JPEG。
2、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目錄下。
3、GD-1.8.3的安裝和配置
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地址為[email protected]。
獲取補丁源碼的地址為:
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目錄下。
-
win2008 ASP顯示500內部錯誤不能顯示詳細錯誤的解決方法
在win2008系統中,有用户遇到這樣的情況:網站後台顯示500內部錯誤,但是卻無法打開詳細的錯誤信息。無法查看詳細的錯誤信息,用户就不能根據具體問題來解決了,這是一件很麻煩的事情。其實用户可以通過修改win2008系統中的IIS設置來顯示這個詳細的錯誤信息。一、造成50...
-
javascript中setInterval的用法總結
javascript中的setInterval的函數主要是在製作動畫或其他間隔性渲染(操作)效果時,對操作方法按照一定時間間隔進行調用的函數。setInterval的表達式格式主要有:setInterval(fnname,time,par1,par2,);setInterval(obj,fnname,time,par1,par2,);第一種是最常見的表達...
-
網頁設計黃金配色原則是什麼
身為網頁設計新手的你,是不是還在糾結於你製作的網頁找不到一組完美的配色方案?在本教程中我們將與你分享6條肯定會火,並且“錯不了”的指導方針,你可以按照這些原則把握最基本的色彩規律。現在我們分享的這些原則都不是規則,你會在你的職業生涯中創造出更多的配色...
-
asp.net 操作INI文件讀寫類實例代碼
操作INI文件讀寫類實例代碼複製代碼代碼如下:usingSystem;usingropServices;using;using;namespaceCommon{//////INI文件讀寫類。///publicclassINIFile{publicstringpath;publicINIFile(stringINIPath){path=INIPath;}[DllImport("kernel32")]privatestaticex...