WINDOW 安装ImageMagick服务端和PHP的imagick插件
写在最前:
windows下要注意的就是ImageMagick版本要与php扩展的Imagick能对应上,同时Imagick版本的选择也要与服务器环境以及php的情况对应上,不然就容易安装失败,我就是在这里踩坑无数的
php_imagick-3.4.3支持的版本是6.9.3-6.9.7,可以往下支持,但不能往上,因此要找6.9.7以下的ImageMagick软件版本,所以要根据这个版本去找对应的软件版本,不然会导致扩展不能识别ImageMagick软件的情况
电脑系统win10 64位,php运行环境:nginx+php7.1
1. 下载 ImageMagick
由于官网下载php_imagick-3.4.3需要imagemagick6.9.3到6.9.7版本,官网的地址截止目前只有7.0版本以上的下载,但我们的扩展是不支持这么高的版本的,提供下载地址:
https://download.csdn.net/download/a724008158/10427649(本文安装x86版本)
2. 安装 ImageMagick
安装是很简单的,只要双击,选择安装的目录,windows的话推荐安装到D盘,最好不要安装到C盘,然后不断点击下一步就可以了,它会选中自动打钩的部分,不要去改动
3. 测试安装
打开windows 命令行窗口 cmd 输入convert,回车。会出现convert的帮助文档,如果没有出现,说明没有安装成功,或没有把安装目录添加到环境变量 path 中。
添加到环境变量,如我的 ImageMagick 安装目录是 d:/imagemagick。
添加过程:
我的电脑 -> 右键点击 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量 -> path -> 选择并编辑 -> 把你的安装目录,添加到其中
设置环境变量win10设置方法参考(win7自行百度):

4. 下载 php扩展 php_imagick.dll
LINUX下载地址:http://pecl.php.net/package/imagick
WINDOW下载地址: http://pecl.php.net/package/imagick/3.4.3/windows
我这里下载的是NTS X86版:php_imagick-3.4.3-7.1-nts-vc14-x86.zip
下载后,里面有CORE_RL..开头的好几个DLL库文件,和php_imagick.dll,
把CORE_RL..开头的文件复制到PHP安装目录下第一层即php.exe同级目录,php_imagick.dll复制到php的ext目录下

5. 把dll文件放到php 扩展文件目录 php/ext 中。
把extension=php_imagick.dll加入php.ini后重启:
如果报错是:“php.exe - 系统错误 ,无法启动此程序因为计算机丢失CORE_RL_wand_.dll ” , 说明你没有将 php_imagick-3.4.3-7.1-nts-vc14-x86.zip 扩展包中的“CORE_*.dll” 这些dll文件 放到 你的php.exe同级目录下。 ,只需要拷贝 CORE_*.dll 到php目录就可以解决了。
6. 重启NGINX/apache。 重启后,打开phpinfo页面,扩展已经安装成功。
如出现以下图片,ImageMagick number of supported formats显示是0,则表示版本不对,或需要将 ImageMagick安装目录\modules\coders设置位环境变量

正确的安装成功显示如下:

7. PHP测试代码。
<?php
$im = new imagick( 'a.jpg' );
// resize by 200 width and keep the ratio
$im->thumbnailImage( 200, 0);
// write to disk
$im->writeImage( 'a_thumbnail.jpg' );
注意:如出现以下错误,Fatal error: Uncaught ImagickException: NoDecodeDelegateForThisImageFormat ....
则表示版本号不对,ImageMagick number of supported formats显示是0导致,具体错误例子如下

WINDOW 安装ImageMagick服务端和PHP的imagick插件的更多相关文章
- 编译安装rabbitmq服务端
有一种方式是:下载rabbitmq-server-generic-unix压缩包,是不用编译的.是已经编译好的源码了 下面介绍编译源码安装 总括: 需要以下步骤: 1.安装erlange.因为 ...
- suse安装svn服务端和客户端的使用
suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...
- centos 7安装vnc服务端&vnc客户端连接
前言 工作需求,需要用到vnc,介绍一下相关内容. 安装vnc服务端 在执行其他相关的之前,需要先安装一下vnc的服务端,命令如下: yum install tigervnc-server 配置vnc ...
- Windows安装VNC服务端
下载VNC服务端 由于服务器在IDC机房,只能使用系统自带远程桌面连接到服务器进行安装VPC服务端 但在安装过程发现,如果是通过远程桌面连接到服务器进行安装,VNC Mirror Driver会报错无 ...
- 多个Linux发行版安装ss服务端
本文仅做技术探讨,请在遵守相应的法律法规的前提下使用. Centos 7一键安装脚本 简单快捷,随机生成密码,默认端口默认加密类型 bash <(curl -s http://morning.w ...
- 安装oracle服务端之后再安装oracle客户端导致sqlplus命令无法使用??
首先小编自述一下所遇到的问题: 昨天在已经安装 oracle 服务端的 win7 X64 主机上安装 oracle client 之后,发现我的sqlplus命令无法用了??经过百度,都说我服务没有开 ...
- CentOS 7.4安装telnet服务端
CentOS 7.4安装telnet服务端 安装xinetd服务 # yum -y install xinetd 安装telnet-server # yum -y install telnet-ser ...
- windows10 64位 安装mysql服务端 并使用navicat客户端链接 掉的一堆坑
1.目的 安装mysql服务端 并使用navicat客户端链接 2.过程 1)下载mysql服务端 下载过程(参考https://blog.csdn.net/youxianzide/article/d ...
- vps上安装CobaltStrike服务端
今天我在我的vps上安装CobaltStrike服务端,真的是踩坑无数,所以写这篇博客记录一下,防止后人再踩坑 安装Oracle JDK8 官方不建议使用OpenJdk,建议使用Oracle JDK的 ...
随机推荐
- vue watch 监听element upload组件上传成功返回的url列表
因为 on-success 上传成功返回的是一个异步的结果....如果父组件需要这个结果的话 必须用watch 监听 然后里面建立一个 save()方法 save方法里面再调用接口 传需要的上传之后的 ...
- 产品设计教程:如何理解 px,dp,dpi, pt,看这一篇就够了
先聊聊熟悉的几个单位 围绕着各种屏幕做设计和开发的人会碰到下面几个单位:in, pt, px, dpi,dip/dp, sp 下面先简单回顾下前四个单位: “in” inches的缩写,英寸.就是屏幕 ...
- 大数据工具比较:R 语言和 Spark 谁更胜一筹?
本文有两重目的,一是在性能方面快速对比下R语言和Spark,二是想向大家介绍下Spark的机器学习库 背景介绍 由于R语言本身是单线程的,所以可能从性能方面对比Spark和R并不是很明智的做法.即使这 ...
- EasyUI扩展——自定义列排序匹配字段
一些特殊情况下希望实现:单击某些列,但是排序要按照自定义指定另外的列排序 easyui扩展: 如果不写sort属性则按照默认该列的field排序 $.fn.datagrid.defaults.onBe ...
- MFC AfxMessageBox MessageBox MessageBoxA 默认标题修改
在工程的资源里添加String Table资源,AFX_IDS_APP_TITLE,然后设置其值即可,AFX_IDS_APP_TITLE的值就是AfxMessageBox.MessageBox.Mes ...
- C#什么时候需要使用构造函数
只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就需要调用默认构造函数.除非类是 static 的,否则 C# 编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例 ...
- JavaScript-switch-case运用-案例
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- [ English ] 俚语 “Ping me=打我电话”
有次做项目的时候跟一个美国人通过MSN讨论一个问题.突然他说了一句,“Can you ping me in 15 minutes?” Ping Me,什么意思啊? 首先我们来看看“Ping”的原意: ...
- html5-progress和meter用法
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- Keras 处理 不平衡的数据的分类问题 imbalance data 或者 highly skewed data
处理不平衡的数据集的时候,可以使用对数据加权来提高数量较小类的被选中的概率,具体方式如下 fit(self, x, y, batch_size=32, nb_epoch=10, verbose=1, ...