国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

ImageMagick和magickwand是什么?如何加裝?

2024-07-21 02:04:09
字體:
來源:轉載
供稿:網友

ImageMagick是一個用于圖象處理的程序
可以運行在windows下和linux下
他的功能非常強大
能進行大小、格式、水印、標簽等各種圖象處理
比如在Linux下執行convert --help
即可查看ImageMagick的一部分功能說明

在PHP程序中,也可以調用這個ImageMagick程序
但是,調用的形式是通過php的module來實現的
這個module的名稱叫做magickwand
很多程序員改用magickwand而不再使用php內置的gd圖象函數庫

ImageMagick功能非常強大,并且在Linux的發行版的光盤中都包含了安裝的rpm
但是系統上自帶的ImageMagick的版本通常很老,無法和magickwand共存
所以只能自行安裝一個新的
而編譯magicwand也是比較復雜的
下邊會詳細講述

環境準備
------------------------
編譯php的magickwand模塊環境上必須本身已經裝有php
(因為一會要用php里邊的phpize程序)
下載最新版的ImageMagick(版本大于6.2)
這是因為Redhat自帶的版本是5.x,不能搭配magickwand使用
所以只能自己編譯一個6.2.x版本來用了
并且,不光是開發環境需要這個包,在實際運行的服務器上
也要手工編譯一個ImageMagick-6.2.x版本才可以。
從ImageMagick的官方站下載源碼包(用google的搜索第一項就是官方站)
解壓縮后配置安裝
./configure
LDFLAGS="-L/usr/lib" CPPFLAGS="-I/usr/include"
--prefix=/usr/local/ImageMagick
--enable-shared
--enable-lzw
make
make install
則6.2版本的ImageMagick安裝完成

下載
------------------------
從magickwand的官方站下載源碼包(用google的搜索第一項就是官方站)
從php.net下載php源碼
將php源碼解壓縮,把magickwand也解壓縮,放到php源碼下的ext/目錄下
例如/root/php-4.4.2/ext/magickwand

整合Module
------------------------
為什么要整合module?這是因為php內置的圖象處理函數庫是gd,而不是magickwand
在php的配置腳本中根本看不到
比如到php的源碼根目錄下,例如:
cd /root/php-4.4.2
執行./configure --help | grep magickwand
可以發現根本搜索不到magickwand的有關信息
所以直接編譯是不能獲得magickwand模塊支持的
所以,需要手工把magickwand的源代碼添加到php的source tree
并且重新生成configure腳本,然后再編譯

進入目錄cd /root/php-4.4.2/ext/magickwand
執行phpize
phpize這個命令是包含在php包本身里邊的,如果這臺機器沒裝過php,這沒法執行這個命令
(這就是為什么要把程序放在已經安裝了php的服務器上編譯的原因)
然后退回到php的源碼根路徑
cd /root/php-4.4.2
刪除老的configure文件
rm ./configure
生成新的configure文件
./buildconf --force
這個時候在php源碼目錄下,一個新的configure腳本誕生了
用這個腳本去配置編譯php,才能開啟magickwand模塊
執行./configure --help | grep magickwand可以看到:
--with-magickwand=DIR Include Magickwand support
這說明現在進行php的配置編譯,就可以啟用這個模塊了

配置編譯
------------------------
現在配置php,使用參數:
./configure
--enable-shared
--with-magickwand=shared,/usr/local/ImageMagick
--enable-module=shared,magickwand
這里使用enable-module方式是為了獲取so模塊文件,便于給其他服務器加裝
然后編譯
make
等待幾分鐘即可完成了

獲取模塊
------------------------
然后就可以去php的源碼目錄中找剛才編譯出來的so文件了
find /root/php-4.4.2 -name 'magickwand.so'
把這個文件copy出來,即可放置到別的服務器上使用了
cp ./module/magickwand.so /root

生產環境上安裝
------------------------
在實際運行的服務器上,要先按照前邊所述的方法
編譯一個6.2.x版本的ImageMagick并安裝到服務器上
然后把magickwand.so復制到php的模塊目錄里邊
比如對應as4版本的php:/usr/local/php4/lib/php
然后在php.ini加入extenstion=magickwand.so
比如對應as4的版本的php.ini在/usr/local/php4/etc/php.ini
保存退出即可,無須重新啟動任何服務。

附加軟件下載
------------------------
本文中提到的ImageMagick與magickwand以及已經編譯好的magickwand.so(for php-4.4.2)
可以從下邊的URL下載獲得
http://www.swsoft.com.cn/support.php?x=&mod_id=100&root=31&file_id=372

原文地址:http://www.swsoft.com.cn/support.php?x=&mod_id=2&root=74&id=457

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南和县| 精河县| 成安县| 若尔盖县| 嘉兴市| 南丹县| 洛阳市| 腾冲县| 无锡市| 太康县| 古蔺县| 常宁市| 阜宁县| 高唐县| 苍山县| 土默特右旗| 奉化市| 南和县| 都江堰市| 汕尾市| 安乡县| 武平县| 手游| 彭州市| 曲阳县| 竹溪县| 宁乡县| 离岛区| 赣榆县| 恩平市| 青铜峡市| 巨鹿县| 八宿县| 云阳县| 汝阳县| 深水埗区| 五指山市| 安达市| 阳新县| 皮山县| 澄江县|