成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:188日期:2024-01-24 14:13:49
問題:安裝藍點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的文檔目錄下(/etc/httpd/html),其內容如下: <? phpinfo(); ?> 文件就只有1行。用瀏覽器打開該文件URL(我的hostname為zhangzh): http://zhangzh/info.php 如果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源碼的地址為: 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目錄下。 3、 PHP-4.0.1pl2的安裝和配置 PHP的主要文件有libphp4.a, libphp4.so等。 獲取PHP源碼的地址為: http://php.net 取得的文件為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/httpd' '--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、2中make install的結果而指定的。 (由于命令太長,建議寫成shell文件再執行。文件my-php-conf內容如下: #! /bin/sh ./configure '--with-apxs=/usr/sbin/apxs' '--with-mysql'  '--with-config-file-path=/etc/httpd' '--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' 用shell執行之: sh my-php-conf 效果是一樣的。) 命令完成后該目錄下多了個Makefile文件。 編譯并安裝: make make install 命令完成后,libphp4.so被拷到/usr/lib/apache目錄下。 4、 Apache的配置 Apache本身不必重新編譯安裝,但使用了新的PHP,須讓Apache知道,得修改Apache的配置文件并重啟Apache服務。 修改Apache配置文件/etc/httpd/conf/httpd.conf,使得文件中包含以下幾行: LoadModule php4_module modules/libphp4.so AddModule mod_php4.c AddType application/x-httpd-php .php3 .php 同時注意把舊的php3的相應行注釋掉,否則會出現沖突而使Apache重啟失敗。 重啟Apache服務: /etc/rc.d/init.d/httpd 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, 80); ?> 把該文件放于Apahce的文檔目錄下(/etc/httpd/html),同時把測試用的圖像文件test.gif也放于該目錄下,然后用瀏覽器打開該php文件(我的hostname為zhangzh): http://zhangzh/create-thumb.php 沒出錯信息。再看Apahce的文檔目錄(/etc/httpd/html),多了一個縮圖文件test-tn.jpg。 大功告成,班師回朝。
標簽: PHP
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
天堂成人国产精品一区| 国产欧美一区二区三区另类精品| 亚洲精品成人在线| 欧美另类高清zo欧美| 欧美精品久久久久久久多人混战 | 色老汉一区二区三区| 免费观看日韩av| 在线欧美日韩| 一二三区精品| 一区二区三区日韩精品| 久久亚洲色图| 国产精品正在播放| 亚洲精品欧美专区| 国产福利精品导航| eeuss国产一区二区三区| 99这里只有久久精品视频| 日韩一区二区三区在线视频| 欧美午夜国产| 国产精品996| 亚洲人成小说网站色在线| 国产一区不卡视频| 不卡的av电影在线观看| 99精品久久免费看蜜臀剧情介绍| 韩国精品久久久| 91麻豆免费看| 亚洲青青青在线视频| 色88888久久久久久影院按摩 | 在线观看91精品国产入口| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲第一狼人社区| 日本一区二区三区四区| 免费三级欧美电影| 黄色综合网站| 欧美xxxx在线观看| 成人app软件下载大全免费| 亚洲一区中文日韩| 1024成人网| 欧美日韩国产综合视频在线观看| 亚洲一二三四区不卡| 亚洲综合在线视频| 99久久免费精品| 美女亚洲精品| 国产调教视频一区| 91无套直看片红桃| 亚洲妇女屁股眼交7| 欧美日韩在线观看一区二区三区| 中文字幕五月欧美| 精品免费99久久| 日韩一区二区在线看片| 欧美男男青年gay1069videost| 欧美三区免费完整视频在线观看| 视频一区在线播放| 韩国亚洲精品| 精品国产91九色蝌蚪| 亚洲婷婷在线| 成人免费观看视频| 欧美激情在线| 狠狠干综合网| 午夜婷婷国产麻豆精品| 激情六月婷婷久久| 91超碰这里只有精品国产| 亚洲国产精品久久人人爱蜜臀| 夫妻av一区二区| 欧美日韩一区二区三区高清| 国产欧美1区2区3区| 欧美亚洲一区三区| 亚洲欧美另类久久久精品| 欧美成人video| 精品奇米国产一区二区三区| 五月天中文字幕一区二区| 日本大胆欧美人术艺术动态| 日韩电影在线看| 日韩欧美综合在线| 国产高清无密码一区二区三区| 欧美亚洲网站| 国产一区二区中文| 激情欧美一区| 国产精品久久久一区二区| 亚洲欧美精品| 国产综合色视频| 欧美不卡一区二区三区| 91蝌蚪porny| 精品日产卡一卡二卡麻豆| 午夜视频久久久| 亚洲欧美日韩系列| 激情五月婷婷综合网| 91美女片黄在线| 1024亚洲合集| 国产精品色噜噜| 午夜精品视频一区| 99久久婷婷国产| 99精品热6080yy久久| 欧美日韩国产一区二区三区地区| 亚洲高清在线观看一区| 精品影院一区二区久久久| 久久久亚洲综合| 亚洲国产一区二区在线| 91色九色蝌蚪| 亚洲精选91| 91精品国产综合久久久久| 日韩欧美一区中文| 免费精品视频| 国产精品一区在线观看乱码 | 丰满亚洲少妇av| 在线观看视频一区| 日韩欧美黄色影院| 亚洲综合社区| 99国产精品久久久久老师 | 国产精品乱子乱xxxx| 国产亚洲精品v| 亚洲欧美伊人| 日韩精品乱码av一区二区| 日韩午夜在线观看视频| 欧美日韩三级一区| 亚洲图片激情小说| 99久久婷婷国产| 91精品国产91久久久久久一区二区| 亚洲欧美精品在线观看| 91免费看片在线观看| 亚洲一卡二卡三卡四卡五卡| 日韩一区二区三区四区五区六区| 成人免费毛片a| 亚洲欧美色综合| 日产国产高清一区二区三区| 麻豆9191精品国产| 色菇凉天天综合网| 色婷婷综合久久久中文字幕| 国产欧美一区二区精品久导航| 久久成人av少妇免费| 欧洲亚洲国产日韩| 亚洲va中文字幕| 欧美日韩在线三区| 欧美精选在线播放| 欧美挠脚心视频网站| 欧美一级专区| 亚洲一级影院| 欧美成人激情免费网| 激情综合色综合久久| 亚洲影院免费| 日韩精品一区第一页| 午夜精品国产更新| 丝袜美腿高跟呻吟高潮一区| 中文字幕五月欧美| 亚洲欧美综合另类在线卡通| 久久久久九九视频| 久久婷婷综合激情| 欧美xxxxxxxx| 欧美福利一区| 国产免费久久精品| 亚洲一区二区三区激情| 奇米亚洲午夜久久精品| 欧美精品观看| 国产精品三级电影| 欧美日韩综合| 亚洲最大色网站| 亚洲成人自拍视频| 亚洲区欧美区| 久久不射2019中文字幕| 在线观看不卡一区| 欧美日韩国产高清一区二区三区| 中文字幕字幕中文在线中不卡视频| 色综合一区二区三区| 国产精品三级久久久久三级| 激情综合视频| 欧美三片在线视频观看| 欧美一二区视频| 在线视频国内一区二区| 欧美日韩不卡一区二区| 欧美最猛黑人xxxxx猛交| 51精品秘密在线观看| 国产日韩欧美高清| 久久国产精品99国产| 亚洲欧美韩国综合色| 视频一区中文字幕国产| 亚洲电影av| 亚洲国产视频一区| 欧美亚洲国产一区二区三区 | 一区二区三区资源| 精品一区二区三区免费视频| 国产成人av一区二区三区在线观看| 成人av动漫在线| 国产精品久久久免费| 亚洲成av人片在www色猫咪| 欧美三级一区二区| 韩国精品主播一区二区在线观看| 国产欧美日韩亚州综合| 蜜桃久久久久久| 国产综合久久久久久久久久久久| 国产精品77777| 亚洲一区二区三区精品视频| 在线一区免费观看| 欧美日韩视频第一区| 国产精品久久三| 波多野结衣中文字幕一区二区三区 | 日本高清免费不卡视频| 亚洲高清视频在线| 日韩欧美一级精品久久| 一区二区在线不卡| 国产裸体歌舞团一区二区| 亚洲一区二区欧美|