一直以 GD 來處理圖檔,不過它若是想要將 gif resize 就會讓 gif 的動態效果失效。所以才想要改用 imagemagick 來處理。

安裝步驟不多,不過前提也是要用到 Homebrew 這個套件管理工具。先後步驟如下:

$ brew install ImageMagick
$ cd /Applications/XAMPP/xamppfiles/
$ sudo ./bin/pecl install imagick

開啟 XAMPP/xamppfiles/etc/php.ini 來編輯,將這字串『extension=imagick.so』加在最後一行。然後重啟 apache,檢視一下 phpinfo() 有沒有出現 imagick。若有,先恭喜您非常幸運。


若沒有,請打開 XAMPP/xamppfiles/logs/php_error_log 檔案看一下是否有錯誤訊息。

他可能會是這樣子描述:
PHP Warning: PHP Startup: Unable to load dynamic library ‘imagick.so’ (tried: /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20170718/imagick.so (dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20170718/imagick.so, 9): Library not loaded: /usr/local/opt/freetype/lib/libfreetype.6.dylib

原因在於 XAMPP/xamppfiles/lib/libfreetype.6.dylib 這個檔案可能版本過舊,所以我就用檔名搜尋一下電腦裡面是否有一樣的檔案,找一個日期最新的檔案,取代 XAMPP 本來的檔案。(注意:必要的話先複製舊檔案,再將檔案覆蓋過來)

完成後一樣重新啟動 apache ,應該就能看到 imagick 模組生效了。

發表迴響