PHP安装imagick扩展踩过的坑


PHP安装imagick扩展踩过的坑

文章插图
 
环境背景:WAMP(php7.1.9 + Apache2.4.27)
最近需要使用到图形添加水印等操作,于是找到了 Intervention Image 这个组件 。
大神的轮子拿来用,还真是方便!啧啧!
出于好奇,发现配置文件 image.php 中,除了 gd 库外,还可以使用 imagick。
哎,这个东东平时不太留意啊!听说效率比 gd 要高很多 。嗯,盘它!
自此开启入坑之路……
 
- 1 -
老一套,网上一顿猛搜索,找到了我当前环境所匹配的扩展包 。
解压扩展包中的 php_imagick.dll 到php环境的ext目录中 。
PHP安装imagick扩展踩过的坑

文章插图
图1 查看扩展包所需环境
 
PHP安装imagick扩展踩过的坑

文章插图
图2 选择DLL
 
PHP安装imagick扩展踩过的坑

文章插图
图3 找到相应的扩展包
 
- 2 -
轻车熟路,修改配置文件 php.ini,开启加载 php_imagick.dll 扩展 。
一切都是那么的简单,不是吗?
OK,重启服务加载扩展……
纳尼!没有成功?
使用测试命令 php --ri imagick 试试,还是失败 。
打开phpinfo页面,居然没有找到imagck扩展 。(失败了当然找不到了)
PHP安装imagick扩展踩过的坑

文章插图
图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扩展目录路径 。
PHP安装imagick扩展踩过的坑

文章插图
图5 在环境变量Path中添加PHP扩展路径
 
打完收功!就这么简单!给出最终抓图 。
PHP安装imagick扩展踩过的坑

文章插图
图6 Php_imagick扩展命令行测试
 
PHP安装imagick扩展踩过的坑

文章插图
图7 Php_imagick扩展phpinfo加载成功
 
生命在于折腾,但也要少折腾!希望能帮到爱学习的小伙伴们!

【PHP安装imagick扩展踩过的坑】


    推荐阅读