windows7下 php5.4成功安裝imageMagick 。 php
(phpinfo中顯示不出來是由於:1.軟件自己、php自己、php擴展三方版本要一致,2.須要把CORE_RL_*.dll多個文件放到/php/目錄下面)html
(做者:王奇疏 http://www.cnblogs.com/wangqishu/p/5609950.html )apache
樓主須要用php處理一些特別的圖片事宜,因此安裝了iMagick for php來編寫程序。windows
先看一下,這是我在windwos7安裝成功的 imageMagick for php 的phpinfo()截圖:測試
和調用imagick插件 的 php程序執行成功 截圖:spa
安裝步驟:.net
1). 先肯定你使用的php版本狀況,好比王奇疏的pc是win7的php : php5.4 x86 ts插件
那麼就須要三方版本 要一致:imagick軟件自己( 如x86 )、php自己( x86 ts (thread safe) )、php擴展php_imagick.dll (ts) 。命令行
2).在已經安裝了php的狀況下,須要下載2個軟件: imagick軟件自己、php擴展php_imagick.dll擴展包:
3d
imagick軟件自己: http://imagemagick.org/script/binary-releases.php#windows
樓主選擇的是:ImageMagick-6.8.9-6-Q16-x86-dll.exe 百度盤下載 運行安裝便可。
(
由於最新版本的 php_imagick.dll (最新版本3.4.2 2016.06.22)
只支持到 ImageMagick 6.8.9 (2014-05-08)
因此,樓主已更換爲 ImageMagick 6.8.9-1 Q16 x86.exe 樓主提供了1個百度盤下載地址,x64或其它版本請自行搜索摸索。
(by 王奇疏) 。
這是exe二進制安裝包,若是你是x64位的請自行搜索這個版本的下載,或者你換了別的版本的請自行摸索測試。 若是你下載的是stable便攜包至關於綠色版,那麼須要本身把 文件路徑 放到系統的環境變量。
)
php擴展php_imagick.dll擴展包:http://pecl.php.net/package/imagick/
樓主選擇的是:http://pecl.php.net/package/imagick/3.4.2/windows
PHP 5.4 :5.4 Thread Safe (TS) x86
3).安裝軟件和配置
安裝imagick軟件自己,一直下一步便可;
安裝php擴展插件:php_imagick.dll ,同其餘php dll插件同樣。
①.從php擴展壓縮包中將php_imagick.dll 拖到/php/ext 目錄下,
②.在php.ini開啓插件 extension=php_imagick.dll ,
③. 從擴展壓縮包中將多個 CORE_RL_*.dll 文件拖到 /php/ 目錄下(不然重啓apache或者 命令行 php -ri imagick 調試時報錯找不到*.dll )
4. 重啓Apache,查看 phpinfo() 中是否有 Imagick 項,若是有說明安裝成功。
5. 須要另外 新建一個系統環境變量名爲MAGICK_HOME,值爲E:\你的imagick路徑\modules\coders, 這步主要用來定位imagemagick的module,很重要。( 不然支持的圖片格式數量默認爲0, 沒法處理圖片。 ImageMagick number of supported formats: => 0 )
若是沒有Imagick 項,請 使用 php擴展調試命令 來檢查擴展中存在的問題, 並確保三方軟件版本一致便可。
php擴展 調試命令:
在cmd運行: php --ri imagick
1. 若是報錯是:「php_imagick.dll' - %1 不是有效的 Win32 應用程序」 ,則說明版本不相符合。 須要檢查 imagick軟件自己( 如x86 )、php自己( x86 ts (thread safe) )、php擴展php_imagick.dll (ts) 三方版本 要一致。
2. 若是報錯是:「php.exe - 系統錯誤 ,沒法啓動此程序由於計算機丟失CORE_RL_wand_.dll 」 , 說明你沒有將 php_imagick-3.3.0-5.4-ts-vc9-x86.zip 擴展包中的「CORE_*.dll」 這些dll文件 放到 你的php.exe同級目錄下。 ,只須要拷貝 CORE_*.dll 到php目錄就能夠解決了。
3. 若是php --ri imagick 顯示的結果 ImageMagick number of supported formats: => 0 支持的圖片格式數量爲0,請看第5步須要新建一個環境變量。
4.若是php代碼執行調用時報錯:「 NoDecodeDelegateForThisImageFormat 」,代表你的php_imagick.dll的版本 並不支持或並不匹配 ImageMagick軟件版本,這時候 php --ri imagick 的結果也顯示爲: ImageMagick number of supported formats => 0 。須要更換ImageMagick軟件版本。