安裝Imagick確實是很惱火的事情,網上的討論一大堆,中文英文都有,我也在這裏卡了好久,此次基本上算是弄明白了,記錄一下。php
Imagick有點像MySQL的安裝方式同樣,首先服務器須要安裝MySQL Server,而後php須要安裝mysql擴展,經過擴展提供的api(諸如mysql_connect這些方法)去調用執行mysql。mysql
1. 個人環境
Win7 + Apache2.4 + php5.6.28
WinServer 2012 + IIS8.5 + php5.6.28
sql
2. 先要去官方下載最新版Imagick
https://www.imagemagick.org/
1. 雖然官方建議首選x64,不過我仍是選的x86,由於個人php用的是x86(php, Imagick版本一致總不會出錯,雖然個人windows系統是64位)。
2. Q8和Q16的區別官方寫得很清楚了,所以我最終選擇的是 ImageMagick-7.0.4-0-Q16-x86-dll.exe
3. 緊接着是安裝,選擇將Imagick加入環境變量,接着下一步直至完成。這一步很重要!
4. 安裝完成的目錄爲C:\ImageMagick-6.9.7-Q16\ 固然這只是爲了便於後面的說明,實際狀況能夠安裝在任何目錄下windows
3. 去官方下載php的Imagick擴展
https://pecl.php.net/package/imagick
1. 網上建議選擇非RC的stable版本
2. Apache使用TS版本(就算php是NTS),IIS則使用NTS版本。緣由我還沒搞明白。
3. 最終我選擇的是 php_imagick-3.4.1-5.6-ts-vc11-x86.zip
4. 下載解壓,須要作2件事
1. 將壓縮包裏的php_imagick.dll拷貝到php extension目錄,並修改php.ini api
extension=php_imagick.dll
2. 將壓縮包裏CORE_RL_*.dll的文件(個人版本一共8個)拷貝至Imagick的安裝目錄下(C:\ImageMagick-6.9.7-Q16\),建議在替換以前先備份
5. 重啓服務器,Apache不建議使用restart,使用stop+start纔會生效。IIS我試着重啓好像也沒效果,所以直接重啓的系統。服務器
此時一般來講使用phpinfo能夠查看到imagick已經安裝成功了。甚至能夠直接使用了。不過運氣很差也會遇到不少坑。網站
4. 可能須要調整Imagick版本
經過phpinfo能夠看到一條信息Imagick compiled with ImageMagick version,若是你在step2安裝的版本和這個版本出入很大,就頗有可能致使ImageMagick supported formats爲no value。我就是遇到了這個問題 :
Imagick compiled with ImageMagick version:6.9.3-7
我安裝的Imagick爲:7.0.4-0
此時須要從新下載相應版本的Imagck,重複step1的安裝步驟,還記得step2替換那8個dll文件spa
5. ImageMagick supported formats:no value
有可能仍然爲no value,此次應該不是版本的問題了,須要新建一個系統環境變量
MAGICK_HOME=C:\ImageMagick-6.9.7-Q16\modules\coders
重啓服務器,我所遇到的問題就解決了.net
6. 查閱的一些網站
http://stackoverflow.com/questions/15279301/imagemagick-supported-formats-no-value
http://stackoverflow.com/questions/2858439/installing-imagemagick-extension-with-php-windows
http://hexydec.com/blog/how-to-get-imagemagick-working/rest