流程
类似于安装mysql扩展,imagick是用C++写的,相当于php调用它的程序来操作图像数据。类似于C/S形式,要安装imagick程序本身,然后php通过扩展实现imagick的调用接口,从而达到php使用imagick应用程序的效果。
- 安装imagick在操作系统(以windows)为例上的版本
- 下载php7.2 操作对应的
php-imagick
扩展版本,置于php
扩展文件夹 - 添加
ext
对应的扩展配置,extension=php_imagick.dll
安装 ImageMagick 程序时,像这样 ImageMagick-6.8.6-9-Q16-x64-dll.exe,需要将程序的执行路径加入环境变量(勾选即可)
另外一点,所有安装完毕,需要重启,确保ImageMagick扩展底层使用的是imageMagic软件
步骤
- 下载最新版imagemagick ,根据官网指引来就好了
- 关键是下载正确的php扩展配置,地址php扩展为例
[To Parent Directory]
4/16/2019 9:26 PM <dir> logs
4/16/2019 9:00 PM 33315069 php_imagick-3.4.4rc2-7.1-nts-vc14-x64.zip
4/16/2019 9:18 PM 32083594 php_imagick-3.4.4rc2-7.1-nts-vc14-x86.zip
4/16/2019 9:09 PM 33317336 php_imagick-3.4.4rc2-7.1-ts-vc14-x64.zip
4/16/2019 9:26 PM 32086700 php_imagick-3.4.4rc2-7.1-ts-vc14-x86.zip
4/16/2019 8:22 PM 41342862 php_imagick-3.4.4rc2-7.2-nts-vc15-x64.zip
4/16/2019 8:42 PM 40167785 php_imagick-3.4.4rc2-7.2-nts-vc15-x86.zip
4/16/2019 8:32 PM 41344984 php_imagick-3.4.4rc2-7.2-ts-vc15-x64.zip
4/16/2019 8:51 PM 40169235 php_imagick-3.4.4rc2-7.2-ts-vc15-x86.zip
4/16/2019 7:42 PM 41344077 php_imagick-3.4.4rc2-7.3-nts-vc15-x64.zip
4/16/2019 8:02 PM 40175058 php_imagick-3.4.4rc2-7.3-nts-vc15-x86.zip
4/16/2019 7:52 PM 41343642 php_imagick-3.4.4rc2-7.3-ts-vc15-x64.zip
4/16/2019 8:11 PM 40175038 php_imagick-3.4.4rc2-7.3-ts-vc15-x86.zip
版本
- 以
php_imagick-3.4.4rc2-7.2-ts-vc15-x64.zip
示例解析7.2
为php版本3.4.4rc2
是imagick
模块版本号ts
线程安全vc15
运行库x64
php所采用的运行64位系统
- 上述这些信息可以 通过
phpinfo
读相关信息
小结
- 下载安装
ImageMagick
程序 - 配置与之对应的
php
扩展,以便调用上述程序
补充
- 通常情况下,官方会提供相应php扩展,但也不排除一些例外
- 如
memcache.dll
在php5.6 之后,官方就不再提供了,因此需要个人编译生成,但也有取巧的方法,github
上有大神提供生成好的,比如php7.2.x 的memcache.dll
扩展,去下载就是了…
问题
- 有可能有如下警告,虽然不影响功能使用,但很显然是告诉你了有一些版本上差异
Warning: Version warning: Imagick was compiled against ImageMagick version 1799 but version 1800 is loaded. Imagick will run but may behave surprisingly in Unknown on line 0
- 执行 命令
php --ri imagick
, 想看它本应该装的版本信息
imagick
imagick module => enabled
imagick module version => 3.4.4RC2
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version => ImageMagick 7.0.7-11 Q16 x64 2017-11-23 http://www.imagemagick.org
Imagick using ImageMagick library version => ImageMagick 7.0.8-54 Q16 x64 2019-07-17 http://www.imagemagick.org
ImageMagick copyright => Copyright (C) 1999-2018 ImageMagick Studio LLC
- 安装正确版本即可
- 比如这样 7.0.7-11