環境背景:WAMP(php7.1.9 + Apache2.4.27)
最近需要使用到圖形添加水印等操作,于是找到了 Intervention Image 這個組件。
大神的輪子拿來用,還真是方便!嘖嘖!
出于好奇,發現配置文件 image.php 中,除了 gd 庫外,還可以使用 imagick 。
哎,這個東東平時不太留意??!聽說效率比 gd 要高很多。嗯,盤它!
自此開啟入坑之路……
- 1 -
老一套,網上一頓猛搜索,找到了我當前環境所匹配的擴展包。
解壓擴展包中的 php_imagick.dll 到php環境的ext目錄中。
圖1 查看擴展包所需環境
圖2 選擇DLL
圖3 找到相應的擴展包
- 2 -
輕車熟路,修改配置文件 php.ini ,開啟加載 php_imagick.dll 擴展。
一切都是那么的簡單,不是嗎?
OK,重啟服務加載擴展……
納尼!沒有成功?
使用測試命令 php --ri imagick 試試,還是失敗。
打開phpinfo頁面,居然沒有找到imagck擴展。(失敗了當然找不到了)
圖4 找不到指定的模塊
- 3 -
我經歷過的坑,總結如下,少走彎路:
1、到ImageMagick官網下載相應版本的安裝程序。
安裝過后仍然失敗,其實告訴你,根本不需要安裝官網的程序。
2、按網上指導新建一個環境變量 MAGICK_HOME ,同樣沒有用。
3、在安裝了官網的程序后,phpinfo中會出現imagick擴展項目。
先別高興得太早,怎么 ImageMagick number of supported formats 一項居然是 0 !
網上的文章居然不明就里,說過段時間后再使用又好了。
說是apache下顯示為0,換Nginx就是正常的。(我不信!事實證明我是對的。)
4、擴展包中的 CORE_xx.dll 的所有文件復制到php目錄下,
還有說復制到apache的bin下的,均告失敗。
- 4 -
好了,折騰得也夠累了,給出最終答案吧。
其實很簡單,只需兩步即可。(php.ini開啟擴展別忘記)
第一步,把擴展包中根目錄下的所有dll文件解壓到php的ext擴展目錄中。
第二步,在系統變量Path中添加php的ext擴展目錄路徑。
圖5 在環境變量Path中添加PHP擴展路徑
打完收功!就這么簡單!給出最終抓圖。
圖6 Php_imagick擴展命令行測試
圖7 Php_imagick擴展phpinfo加載成功
生命在于折騰,但也要少折騰!希望能幫到愛學習的小伙伴們!