[技術]ImageMagick supported formats was set to "no value"

之前為了尋找php_imagick.dll 的版本要支援在XP上,


花費了我好幾天的青春,就這樣揮灑在螢幕上,一去不回,


有尋找到好方法當然要分享一下大家,


不然都沒有留下一些文獻,對以後要尋找的人就真的是超級麻煩,


原本在年初時,安裝ImageMagick 與php_imagick.dll 讓我很頭痛,


花了很長的時間尋找國外的資訊,因為OS、PHP、後來總算搞定,


而寫了[技術]PHP get picture DPI (PHP 判斷圖片的 解析度 DPI part2)


但就在這幾天,要重新去執行檔案時卻發現,不能RUN了,


我的天,沒辦法正常執行程式,


後來把phpinfo.php 叫出來看,發現到imagick 沒有載入,


再去檢查php_imagick.dll 發現版本時間好像不太一樣,


檢查ImageMagick 卻被裝了 6.8.8 版,跟我找到的php_imagick.dll 版本不同,


詢問同事之後才知道他為了自己的程式運作,所以裝了其他版本,


一整個讓我快發瘋!為了imagick 導入我可是花了大半青春,


資料也因為電腦重新安裝所以沒有保留,


還好之前的php_imagick.dll 還有,立即把它換掉,


換掉之後是有導入了imagick 但卻是"ImageMagick supported formats" "no value",


imagick-no-value.jpg


天阿~這是啥鬼!導入卻沒有支援的圖檔!


後來參考了國外的一篇文章,作者也是為了imagick 看了很多文件資料,


而整理了一些心得,可以前往看看,How to get ImageMagick working with PHP 5.5 on Windows by Will Earp


裡面談到最好能夠有相同的版本支援php_imagick.dll 與ImageMagick,


有鑑於我系統適合的php_imagick.dll 是用6.7.7-10的ImageMagick,


所以我還是得找出我以前灌的ImageMagick 6.7.7-10 安裝檔,


開始又是一件不平凡的事情,因為版本時在太多了,


不管是官網或是私人網站都不太提供6.7.7-10的版本,


有人會問,那為何不裝其他版本的DLL呢?


詭異的是,DLL的產生跟系統環境有關,


還不是每個DLL都能用,目前的環境是XP,我有裝過不下50個DLL才找到這麼一個,


我哪能說換就換呢!


好在之前的php_imagick.dll 版本說明裡面有提供網址,


所以就前往了http://pecl.php.net/package/imagick


裡面有提供幾個新的DLL,我嘗試裝了一下,一樣是可以導入但仍是no value,


所以再去尋找ImageMagick 版本,又發現SUNET's 提供的版本比較齊全,


所以就找到了二個檔案,


ImageMagick-6.7.7-10-Q16-windows-static.exe,


ImageMagick-6.7.7-10-Q16-windows-dll.exe,


糾乾脆都存了起來,以免以後又找不到,


裝好了軟體之後再去檢查phpinfo.php 就正常囉!


imagick-normal.jpg  


希望這幾個網站資料對大家有用處!


對遇到相同錯誤的處理方式能夠更快解決。


Share on Google Plus

About fengstech

2 意見:

  1. 能分享一下 ImageMagick-6.7.7-10-Q16 的 php_imagick.dll
    現在網路能找到的 php_imagick.dll 配對的 ImageMagick 版號都跑不起來
    always 出現 0 ... Orz


    版主回覆:(05/17/2015 02:03:47 PM)

    在文章內SUNET's有連結喔!可以進去裡面找~
    ImageMagick-6.7.7-10-Q16-windows
    而且裡面提供了很多版本你可以試試看唷!
    祝福您啦!^^

    回覆刪除