2024年4月27日

北京天佑工作室

不亂於心,不困於情,不畏將來,不念過往。

IIS7配置PHP和Imagick

2 min read

本文为网络摘抄

此为第一版

由于项目需要,服务器上要安装php和imagick库的支持,网上搜了下,教程很多,基本类似,IIS7配置PHP就不说了,现在有PHP Manager,用fastcgi模式配置起来很方便

1、先安装 ImageMagick-6.8.7-7-Q16-x64-dll.exe 。
下载地址: http://www.imagemagick.org/script/binary-releases.php#windows 可以选择其他版本。

2、解压 php_imagick-3.1.2-5.5-ts-vc11-x64.zip,将php_imagick.dll放入php的ext目录下。
可根据Imagick的版本自行下载
下载地址: http://pecl.php.net/package/imagick 点击DLL,可以进入选择相应的php版本。
下载时,请注意non-thread-safe和thread-safe,前者适用于IIS,后者适用于Apache。
3、打开php.ini,添加 extension=php_imagick.dll,重启IIS

然后用phpinfo()查看,死活出不来imagick扩展支持,自己摸索了老半天,查了很多资料,发现光按照大部分网上说的方法, 百分百成功不了! 因为有几个重点没说清楚!

首先是装完ImageMagick,一定要配置环境变量,PATH当中安装的时候可以勾选装上,另外还要添加一个
MAGICK_HOME=C:\ImageMagick\modules\coders,这里可以根据自己的安装目录自行调整

然后就是解压imagick扩展包的时候,有一堆其余的dll文件,要复制到C:\Windows\System32里,如果是64位的复制到C:\Windows\SysWOW64里
然后cmd里运行下php -v,看看有没有报错,如果有报错的,看看是不是漏装了VC库,成功的话,重启下IIS,再运行phpinfo()看看,正常的话,就可以看到imagick加载成功了,如果看到supported formats是no value的话,看下环境变量是否添加了,之前这个问题卡了我好久

20150226180002874

另外碰到一个问题,我始终没有解决,我用的php5.6版本时,读取png文件会报错,但是扩展是支持png的,换成php5.3和对应的php_imagick版本,就没问题,不知道其他人有没有碰到过,如果碰到还请留言是如何解决的。
对于上述问题找到原因了,是官网下imagemagick的版本太高6.9,改成6.8.4的就行了

此为第二版

PHP安装图片处理拓展Imagick安装教程,IIS,Apache通用

这个方法IIS,Apache都通用,而且我们是测试过的,希望能帮助有需要的人,让你学会PHP安装图片处理拓展Imagick的安装

疯狂小编在最近的PHP项目中,需要用到切图和缩图的效果,在本地windows开发环境,安装过程遇到好多问题,在此与大家分享。

php官网里,一大群老外也看不懂这玩意怎么装,主要原因在于,php版本庞杂,还有x86 x64 nts ts,对应的imagick版本也不一定相同,imagick第一道关还算容易,总还是有办法装上,imagick对应的ImageMagick程序又不一定了,又出现庞杂的版本,即使官网给出的依赖版本也没有效果,同时也没有官方任何地方给出一个合理的安装方法,真是变态。从中文到英文,从php文档到百度、谷歌资料,各种版本,全是坑!

使用环境

182145bk9wjy9zn25qp2nw

安装步骤

根据环境下载合适的 imagick扩展 和 imagemagick程序

1.下载拓展

下载地址一: http://windows.php.net/downloads/pecl/releases/imagick/
下载地址二: https://pecl.php.net/package/imagick
要点: 注意对应php版本 ts还是nts x86还是x64
这里以phpinfo()为准

所以我应该下载imagick 3.4.3版本 PHP5.6  Non Thread Safe (NTS) x86 的拓展——php_imagick-3.4.3-5.6-nts-vc11-x86.zip

2. 安装拓展

  1. 解压上述文件后,将php_imagick.dll复制到php/ext目录,或者其他你的存放拓展的目录
  2. 修改php.ini 加上extension=php_imagick.dll,注意php可能有多个ini,以phpinfo为准
  3. 此时复制解压上述文件目录中其他dll到php目录,重启apache,此时phpinfo显示拓展安装成功,但是 ImageMagick number of supported formats为0,到这里成功安装了一半

3 下载imagemagick程序

下载地址:http://windows.php.net/downloads/pecl/deps/
imagemagick还有官网下载,此处不鼓励从imagemagick官方下载,他们的网站上我并没有找到历史版本下载,安装失败的几率很大
下载与phpinfo提示一致的版本,此时需要注意  1.软件版本对应     2.vc11还是vc14 3.x86还是x64 都要以phpinfo为准,我的

182145tdt7vnd3laadnayk

所以我下载 ImageMagick-6.9.3-7

然后用phpinfo()查看,死活出不来imagick扩展支持,自己摸索了老半天,查了很多资料,发现光按照大部分网上说的方法,百分百成功不了!因为有几个重点没说清楚!

首先是装完ImageMagick,一定要配置环境变量,PATH当中安装的时候可以勾选装上,另外还要添加一个

IMAGICK_HOME=C:\ImageMagick\modules\coders,这里可以根据自己的安装目录自行调整

然后就是解压imagick扩展包的时候,有一堆其余的dll文件,要复制到C:\Windows\System32里,如果是64位的复制到C:\Windows\SysWOW64里

然后cmd里运行下php -v,看看有没有报错,如果有报错的,看看是不是漏装了VC库,成功的话,重启下IIS,再运行phpinfo()看看,正常的话,就可以看到imagick加载成功了,如果看到supported formats是no value的话,看下环境变量是否添加了,之前这个问题卡了我好久

4 安装imagemagick程序

  1. 下载的文件解压后,将程序整体复制到无空格 无中文字符的目录中 E:\Program Files (x86)\
  2. 配置环境变量,在“此电脑”右键“属性”,以此点击“高级” “环境变量” ,在 “系统变量”中找到键为path的数据,双击path,选择“新建”,将刚刚放程序的目录“E:\Program Files (x86)\ImageMagick\bin”填入即可
  3. 将“E:\Program Files (x86)\ImageMagick\bin”目录中的所有的以“.DLL‘为后缀的文件放入php的根目录,应该有145个

 

重启计算机

182145pk4q3jpptizjpjil

测试

$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' );

?>

此为第三版

php 开启imagick,PHP 安装启用imagick(解决 word press可选的模组imagick未被安装或已被禁用)

本教程仅适用Windows Servier IIS网站服务器。

我的博客使用IIS搭建,相比Linux,相关的教程格外少。因此让以后的小伙伴也能马上解决问题,分享此方法。

这里我选择版本较新的3.4.4 stable稳定版,我的PHP版是7.4.10

362089c30ad35c656e5b594dbb3281c1

下载完成后将压缩包解压到你的服务器上,并将路径添加到系统环境变量中。注意路径中不要带有中文、空格、除下划线外的标点符号,确保路径正确。

9cf8ba468c668becdcdedcd7f7eefb43

复制解压的imagick根目录中的 php_imagick.dll 粘贴到PHP配置环境下的扩展目录 ext 文件夹下,将根目录中其余文件复制粘贴到php根目录下。

最后php.ini配置文件中添加 extension=php_imagick.dll

3a3a6b52629fff9dcc300b0f87c9c5b4

重启IIS即可生效。

4c07cef42ae4a155d79fa16fdc6aa8cd

使用php –ri imagick查看扩展对应的imagick的软件版本,注意如果不安装对应版本会产生未知错误。

c03b88cb366291c9270ac1876ec1aec0

我这里显示的是ImageMagick 7.0.7-11 Q16 x64 2017-11-23

对应版本下载地址:http://ftp.icm.edu.pl/packages/ImageMagick/binaries/ImageMagick-7.0.7-11-Q16-x64-dll.exe

网上虽然能找到到安装程序,但是多数是收费的。

magick安装完成后重启服务器使其生效。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Copyright © All rights reserved. | ICP 2021040747 -1 by 湤 .