酷!學園
2010-09-09 22:57 *
歡迎光臨, 訪客. 請先 登入註冊一個帳號.
您忘了 啟用您的帳號嗎?

請輸入帳號, 密碼以及預計登入時間
新聞:
 
   首頁 | Study-Area | 鳥園 | 鳥哥的Linux私房菜   說明 搜尋 日曆 登入 註冊  
頁: [1]
  列印  
作者 主題: [筆記,分享] ImageMagick for PHP 安裝(CentOS5, Ubuntu804)  (閱讀 5748 次)
0 會員 以及 1 訪客 正在閱讀本篇主題.
Yamaka
俺是博士!
*****
文章: 4097


檢視個人資料 個人網站
« 於: 2008-07-17 20:05 »

今天在 CentOS 5, Ubuntu804 試了一下 ImageMagick for PHP 的安裝

過程有一點小問題, 經過爬估狗大神之後, 總算都能順利安裝..


[CentOS 5]

引用
先安裝 ImageMagick 相關套件...

# yum install ImageMagick-devel

這樣會連 ImageMagick 及其他相關套件一起安裝.

再來是 PHP 的部分, 如果用 pecl 安裝, 會發生記憶使用超過 8M 的問題, 修改了 php.ini 裡 memory_limit 的設定也無效, 所以改用手動下載原始碼來安裝(請到 http://pecl.php.net/ 搜尋最新版)..

# cd /tmp
# wget wget http://pecl.php.net/get/imagick-2.2.0.tgz
# tar zxf imagick-2.2.0.tgz
# cd imagick-2.2.0
# phpize
# ./configure
# make; make install

# vim /etc/php.ini


在最底下加入..

extension=imagick.so

# service httpd restart

大功告成!!


[Ubuntu 804]

引用
先安裝 ImageMagick 的部分:

$ sudo apt-get install imagemagick libmagick9-dev

再來是 PHP 的部分:

$ sudo apt-get install php-pear php5-dev phpize
$ sudo pecl install imagick


pecl 會自動下載套件並且編譯後安裝到指定的目錄裡

完成後在 /ect/php5/apache2/php.ini 加入 extension=imagick.so

$ sudo service apache2 restart

大功告成!!

瀏覽 phpinfo(); 可以看到多了 imagick 的外掛 ^^



PS: 如果有重複貼或是安裝過程有更簡單的方式, 煩請告知一聲, 或是請版主就直接D掉吧 ^^
已記錄
micmic3
俺是博士!
*****
文章: 1514


檢視個人資料
« 回覆文章 #1 於: 2008-07-18 15:04 »

嗯....centos yum 找不找的到 imagemagic?
我 fedora 是用  yum 裝的 .....
已記錄
Yamaka
俺是博士!
*****
文章: 4097


檢視個人資料 個人網站
« 回覆文章 #2 於: 2008-07-18 17:32 »

可以啦, cent 4 或 5 都有 ImageMagick 套件

我的 centos4 本來是自己找 rpm 裝的, 後來用 yum 更新時就會自動更新了..

centos 5 則是直接用 yum 安裝的  ㄏㄏㄏ
已記錄
jaymsa
活潑的大學生
***
會員性別: 男
文章: 403


檢視個人資料 個人網站
« 回覆文章 #3 於: 2009-03-11 17:13 »

請問一下:
小弟是用yum安裝,然後在用pecl安裝php部份,在php.ini
也加入
extension=imagick.so
不過跑範例
程式碼:
<?php

/* Create a new imagick object */
$im = new Imagick();

/* Create new image. This will be used as fill pattern */
$im->newPseudoImage(50, 50, "gradient:red-black");

/* Create imagickdraw object */
$draw = new ImagickDraw();

/* Start a new pattern called "gradient" */
$draw->pushPattern('gradient', 0, 0, 50, 50);

/* Composite the gradient on the pattern */
$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

/* Close the pattern */
$draw->popPattern();

/* Use the pattern called "gradient" as the fill */
$draw->setFillPatternURL('#gradient');

/* Set font size to 52 */
$draw->setFontSize(52);

/* Annotate some text */
$draw->annotation(20, 50, "Hello World!");

/* Create a new canvas object and a white image */
$canvas = new Imagick();
$canvas->newImage(350, 70, "white");

/* Draw the ImagickDraw on to the canvas */
$canvas->drawImage($draw);

/* 1px black border around the image */
$canvas->borderImage('black', 1, 1);

/* Set the format to PNG */
$canvas->setImageFormat('png');

/* Output the image */
header("Content-Type: image/png");
echo $canvas;
?>
跑不出來,小弟不知道該怎麼測試?看過phpinfo()感覺沒載入進去log出現
[Wed Mar 11 17:07:04 2009] [error] [client 211.20.61.101] PHP Fatal error:  Class 'Imagick' not found in /var/www/html/test/index.php on line 4
找imagick.so在
/usr/lib/php/modules/imagick.so
看起來是對的,請問各位前輩該怎麼驗證我有安裝成功!!
已記錄

Linux真好玩...博大精深!!
RHCE
http://jayclub.no-ip.org/jayblog
Yamaka
俺是博士!
*****
文章: 4097


檢視個人資料 個人網站
« 回覆文章 #4 於: 2009-03-11 17:23 »

apache 有重開嗎? 轉眼
已記錄
jaymsa
活潑的大學生
***
會員性別: 男
文章: 403


檢視個人資料 個人網站
« 回覆文章 #5 於: 2009-03-11 17:26 »

apache 有重開嗎? 轉眼
有的!!
小弟剛看一下apache logo出現
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/imagick.so' - /usr/lib/php/modules/imagick.so: undefined symbol: ClonePixelWand in Unknown on line 0
這樣的訊息
已記錄

Linux真好玩...博大精深!!
RHCE
http://jayclub.no-ip.org/jayblog
Yamaka
俺是博士!
*****
文章: 4097


檢視個人資料 個人網站
« 回覆文章 #6 於: 2009-03-12 11:07 »

沒碰過這問題, 目前有一台 CentO 5.2 x64版
imagick.so 是在 /usr/lib64/php/modules/


之前在VM安裝 x386 版也都 ok
要不要直接下載原始碼手動編譯安裝試試
已記錄
jaymsa
活潑的大學生
***
會員性別: 男
文章: 403


檢視個人資料 個人網站
« 回覆文章 #7 於: 2009-03-12 15:17 »

沒碰過這問題, 目前有一台 CentO 5.2 x64版
imagick.so 是在 /usr/lib64/php/modules/


之前在VM安裝 x386 版也都 ok
要不要直接下載原始碼手動編譯安裝試試
感謝您~~
請問我該如何簡單的驗證php已經可以支援了?
已記錄

Linux真好玩...博大精深!!
RHCE
http://jayclub.no-ip.org/jayblog
Yamaka
俺是博士!
*****
文章: 4097


檢視個人資料 個人網站
« 回覆文章 #8 於: 2009-03-12 15:40 »

請問我該如何簡單的驗證php已經可以支援了?

支援 ImageMagick 嗎, 看 phpinfo() 嘍~
有列出 imagick 就是 ok 了  ㄏㄏㄏ
已記錄
jaymsa
活潑的大學生
***
會員性別: 男
文章: 403


檢視個人資料 個人網站
« 回覆文章 #9 於: 2009-03-12 16:33 »

請問我該如何簡單的驗證php已經可以支援了?

支援 ImageMagick 嗎, 看 phpinfo() 嘍~
有列出 imagick 就是 ok 了  ㄏㄏㄏ
喔喔...那答案我用pecl裝的是失敗xd
那要先移除舊的嗎?還是只接用tgz安裝即可?
已記錄

Linux真好玩...博大精深!!
RHCE
http://jayclub.no-ip.org/jayblog
jaymsa
活潑的大學生
***
會員性別: 男
文章: 403


檢視個人資料 個人網站
« 回覆文章 #10 於: 2009-03-12 16:51 »

請問我該如何簡單的驗證php已經可以支援了?

支援 ImageMagick 嗎, 看 phpinfo() 嘍~
有列出 imagick 就是 ok 了  ㄏㄏㄏ
喔喔...那答案我用pecl裝的是失敗xd
那要先移除舊的嗎?還是只接用tgz安裝即可?
自問自答...
我用tgz自行安裝...phpinfo有出現哩~~
不過我用上面的範例測試還是出不來....
出現
程式碼:
[Thu Mar 12 16:52:29 2009] [error] [client 211.20.61.101] PHP Fatal error:  Uncaught exception 'ImagickDrawException' with message 'no encode delegate for this image format `'' in /var/www/html/test/index.php:16\nStack trace:\n#0 /var/www/html/test/index.php(16): ImagickDraw->composite(38, 0, 0, 50, 50, Object(Imagick))\n#1 {main}\n  thrown in /var/www/html/test/index.php on line 16

感謝~~yamaka
« 最後編輯時間: 2009-03-12 16:55 由 jaymsa » 已記錄

Linux真好玩...博大精深!!
RHCE
http://jayclub.no-ip.org/jayblog
balmydrizzle
可愛的小學生
*
文章: 1


檢視個人資料
« 回覆文章 #11 於: 2009-12-23 00:27 »

我在GNU/LINUX上要安裝imagick for php碰到錯誤,查google發現要安裝imagemagick devel版,可是我要怎麼取得?這上面好像沒有yum和apt等服務?
已記錄
Yamaka
俺是博士!
*****
文章: 4097


檢視個人資料 個人網站
« 回覆文章 #12 於: 2009-12-23 10:51 »

我在GNU/LINUX上要安裝imagick for php碰到錯誤,查google發現要安裝imagemagick devel版,可是我要怎麼取得?這上面好像沒有yum和apt等服務?


linux 版本是什麼?
imagick for php 是安裝什麼套件?
已記錄
頁: [1]
  列印  
 
前往:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
本頁花了 0.105 秒,以及 16 次的資料庫查詢。