惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Project Zero
Project Zero
Security Archives - TechRepublic
Security Archives - TechRepublic
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security @ Cisco Blogs
AI
AI
博客园_首页
The Last Watchdog
The Last Watchdog
S
SegmentFault 最新的问题
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Know Your Adversary
Know Your Adversary
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Security Affairs
Blog — PlanetScale
Blog — PlanetScale
V2EX - 技术
V2EX - 技术
www.infosecurity-magazine.com
www.infosecurity-magazine.com
云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
O
OpenAI News
Scott Helme
Scott Helme
C
Cisco Blogs
雷峰网
雷峰网
H
Help Net Security
P
Palo Alto Networks Blog
MyScale Blog
MyScale Blog
I
Intezer
Security Latest
Security Latest
N
News | PayPal Newsroom
美团技术团队
N
News and Events Feed by Topic
B
Blog RSS Feed
T
Tor Project blog
小众软件
小众软件
T
Tenable Blog
aimingoo的专栏
aimingoo的专栏
U
Unit 42
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Application and Cybersecurity Blog
Application and Cybersecurity Blog
月光博客
月光博客
L
Lohrmann on Cybersecurity
T
Tailwind CSS Blog
K
Kaspersky official blog
C
Cyber Attacks, Cyber Crime and Cyber Security
WordPress大学
WordPress大学
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
P
Privacy International News Feed

定の栈

macOS Tahoe 如何用自己的视频做动态壁纸(替换 Aerial 方法) Podman Compose 常用命令速查 创建 Swap 文件 Cursor 2025 Hugo 中文阅读时间计算模版 手动重加载不蒜子计数 入坑舞萌 DX 历时两月终抵 w0 与首鸟加 多邻国 600 天连胜 原神五周年纪念 Asuna 成年生日 告别绝区零 站长18周岁啦! 一位动漫迷的追番日志与热情之旅 起飞日志 Reflector 镜像列表更新常用命令与配置文件 个人自用 rsync 文件同步常用命令 历时千日原神,深渊终抵满星 Arch Linux 个人常用命令记录 《三体III:死神永生》 《三体II:黑暗森林》 《千恋*万花》与现代物理学概念奇妙碰撞后产生出的糟糕想法 Minecraft 15 周年骨折价补票入正 网页添加 Live2D 看板娘 记第二次清醒控梦体验 晶蝶终于收集到了x9999上限! 博客成立一周年了! 终于出雾切辣! 让萝莉受孕的糟糕教学 双11剁手铠侠RC20固态体验 Twikoo评论系统备份更改数据 解决Hexo推送时的spawn failed报错 基于 Butterfly 主题的轮播插件美化 原神60级毕业啦! 站长16周岁啦! 本站使用的一些 npm 模块插件 显示器屏幕亮度调节工具推荐 Butterfly主题公告栏插入a标签按钮 关于niconico上兄贵本篇的收集 常用代理设置汇总 HTTP状态码释义 HTML转义字符对照表 HTTP Content-type对照表 部署Meting-API 抽出1命万叶了! 解决打开IE强制跳转Edge浏览器 为你的博客更换鸿蒙字体 无服务器部署Google谷歌镜像 有关科技创新的未来世界的小说。(ChatGPT) 萝莉的审视与经验 提问的智慧 hexo-generator-feed插件中文文档 hexo-filter-nofollow插件中文文档 Butterfly 主题 HTML5 音乐播放器 APlayer 美化调整 ChatGPT注册&使用&调教&镜像整合 Markdown 语法与外置标签写法汇总 突破天翼校园网限制开启移动热点 原神 mod 模组安装教程 WordPress自用插件和主题推荐 Hexo 下 Markdown 语法失效总结 Git常用基本命令使用详细大全 VScode递增减数字或字母插件 《三体I:地球往事》 CDN整理汇总 ASCII 字符画生成 原神胡桃复刻抽卡记录 九亿张涩图收藏 《流浪地球》 原神私服常见问题 原神私服常用指令 原神私服游玩教程整合 使 WP 的 URL 链接支持中文 Hello World
安装 ImageMagick 扩展
Anthony Bouch · 2023-01-31 · via 定の栈

说明

最终,我最终写了一个博客文章,该文章PhilipD 删除的帖子重新发布,该帖子以错误的格式发布且未得到更正。所以问题被删除了。

我在这里重新发布 PhilipD 的答案,这样可以使遇到相同问题的人更容易找到它,因为花了半天的时间才找到有效的博客文章。这些步骤详细介绍了 32 位安装。我为我的 64 位 php 执行了 64 位安装。

该服务器位于 Windows Server 2012R2(64 位)服务器上,使用 IIS 作为 Web 服务器应用程序。但是,我安装了所有与 ImageMagick 相关的软件的 32 位版本,因为 Web 服务器应用程序(IIS)是 32 位的。以下显示了截至 2017 年 10 月的最新 / 最新版本。

下载 ImageMagick 安装程序

前往 http://www.imagemagick.org/

点击菜单栏中的 “下载”

然后,顶部链接中的 “ Windows Binary Releases ” 或向下滚动

选择 “Win32 动态像素每像素 16 位”,请确保选择动态组件而不是静态组件。

下载用于 ImageMagick 的 php 模块

转到 http://windows.php.net/downloads/pecl/releases/imagick/

选择不是 “RC”(发行候选)版本的最高版本–当前为 3.4.3

选择用于 VC14,x86 和 IIS 的 “NTS”(非线程安全)的 PHP(7.1)版本的条目

下载并保存 ZIP 文件。

下载 PHP 的依赖包,以加载 / 使用 ImageMagick

转到 http://windows.php.net/downloads/pecl/deps/

选择具有最高版本号的 “ImageMagick” 程序包

* 请注意,该版本可能与上述(1.)中的版本不同

选择 “vc14” 和 “ x86” 版本 *

取消阻止每个下载的文件

根据下载方式的不同,这可能有必要,也可能没有必要,但是如果需要,应始终检查并 “取消阻止” 下载的文件。

右键单击每个文件,然后从弹出菜单中选择 “属性”

如果属性对话框显示文本 “此文件来自另一台计算机,可能被阻止以帮助保护此计算机”,

点击 “取消阻止” 按钮

单击确定。

如果您不 “取消阻止” 下载的文件,尤其是 ZIP 文件,则仍可以将已安装或复制的单个文件标记为 “阻止”,这有时会在运行软件时引起一些奇怪的问题。

安装 Imagick 应用程序

以管理员身份运行 ImageMagick-7.0.7-8-Q16-x86-dll.exe 进行安装

接受许可协议

在安装过程中的每个屏幕上接受默认设置。

安装完成后,要测试安装是否成功,请打开命令提示符并运行以下两个命令:

magick wizard: wizard.jpg
magick wizard.jpg win:
这将显示一个 “IMDisplay” 窗口,该窗口显示在画架上创建蒙娜丽莎肖像的向导的素描 / 图像。

安装依赖项

解压缩您在步骤 3 中下载的文件。

进入 bin 目录

IMMOD_RL*.dll 文件(125 个文件)复制到 ImageMagick 的已安装版本的文件夹中,例如 C:\Program Files (x86)\ImageMagick-7.0.7-Q16

返回到 bin 目录

CORERL*.dll 文件(20 个文件)复制到 ImageMagick 的已安装版本的文件夹中,例如 C:\Program Files (x86)\ImageMagick-7.0.7-Q16* * 在提示您要覆盖 / 重命名的情况下,选择 “覆盖”

请注意,这将破坏 Imagick 的命令版本。magick:错误的 JPEG 库版本:库为 80,呼叫者期望为 62

安装 Imagick php 扩展 dll

解压在步骤 2 中下载的文件。

将文件复制 php_imagick.dll 到服务器上已安装版本的 PHP 的 “ext” 文件夹中,例如 C:\php\7.1\ext

不要复制 CORERL * 文件

在 Web 上的某些文章中,您将看到也从该工具包复制 CORERL * 文件以替换 ImageMagick 文件夹中的文件的说明,但这是不正确的。在步骤 6 中复制了这些文件的适当版本。

修改 PHP.ini

编辑 PHP 软件文件夹中的 php.ini 文件,例如 “C:\ PHP \ 7.1 \ php.ini”

将以下行添加到包含其他扩展名的部分:

extension=php_imagick.dll

重新启动服务器。

重新启动 IIS 似乎还不够,您需要重新启动整个计算机。这可能与 IIS 无法识别 Imagick 输入的 PATH 条目有关。

测试 PHPINFO

在 Web 根目录中创建一个 PHP 文件,其中包含以下内容:

在网络浏览器中访问此文件,

搜索现在应该存在于 PHPINFO 输出中的 “Imagick” 部分。

它应如下所示:

imagick imagick 模块:启用了 imagick 模块版本 3.4.3
imagick 类 Imagick,ImagickDraw,ImagickPixel,ImagickPixelIterator,ImagickKernel
Imagick 使用 ImageMagick 版本 ImageMagick 编译的版本 6.9.3-7 Q16 x86 2016-03-27 http://www.imagemagick.org
Imagick 使用 ImageMagick 库版本 ImageMagick 6.9.3-7 Q16 x86 2016-03-27 http://www.imagemagick.org
ImageMagick 版权所有(C)1999-2015 ImageMagick Studio LLC
ImageMagick 发布日期 2016-03-27
ImageMagick 支持的数量格式:216
ImageMagick 支持的格式 3FR,AAI,AI,ART,ARW,AVI,AVS,BGR,BGRA,BGRO,BIE,BMP,BMP2,BMP3,BRF,CAL,CALS,CANVAS,CAPTION,CIN,CIP,CLIP,CLIPBOARD,CMYK ,CMYKA,CR2,CRW,CUR,剪切,数据,DCM,DCR,DCX,DDS,DFONT,DJVU,DNG,DOT,DPS,DPX,DXT1,DXT5,EMF,EPDF,EPI,EPS,EPS2,EPS3,EPSF ,EPSI,EPT,EPT2,EPT3,ERF,EXR,传真,FITS,FPX,分形,FTS,G3,GIF,GIF87,梯度,灰色,GROUP4,GV,H,HALD,HDR,直方图,HRZ,HTM,HTML ,ICB,ICO,ICON,IIQ,INFO,INLINE,IPL,ISOBRL,ISOBRL6,J2C,J2K,JBG,JBIG,JNX,JP2,JPC,JPM,JPT,JSON,K25,KDC,LABEL,M2V,M4V,MAC ,MAGICK,MAP,MASK,MAT,MATTE,MEF,MIFF,MKV,MONO,MOV,MP4,MPC,MPEG,MPG,MRW,MSL,MTV,MVG,NEF,NRW,NULL,ORF,OTB,OTF,PAL ,PALM,PAM,PATTERN,PBM,PCD,PCDS,PCL,PCT,PCX,PDB,PDF,PDFA,PEF,PES,PFA,PFB,PFM,PGM,PICON,PICT,PIX,PLASMA,PNM,PPM,预览,PS,PS2,PS3,PSB,PSD,PTIF,PWP,径向梯度,RAF,RAS,RAW,RGB,RGBA,RGBO,RGF,RLA,RLE,RMF,RW2,SCR,SCREENSHOT,SCT, SFW,SGI,SHTML,SIX,SIXEL,稀疏颜色,SR2,SRF,STEGANO,SUN,TEXT,TGA,THUMBNAIL,TIFF,TIFF64,TILE,TIM,TTC,TTF,TXT,UBT,UBRL6,UIL,UYVY, VDA,VICAR,VID,VIFF,VIPS,VST,WBMP,WEBP,WMF,WMV,WPG,X3F,XBM,XC,XCF,XPM,XPS,XV,YCbCr,YCbCrA,YUV

重要说明:
如果 “受支持的格式” 部分未显示任何格式,或仅显示了少量格式,则最可能的原因是您错过了将一个或多个 IMMOD_RL _ 或 CORERL _ DLL 文件复制到 ImageMagick 文件夹中的操作,或者您从 “ php_magick” 工具包中复制了它们。

在 PHP 中使用 ImageMagick 测试图像生成

在 Web 根目录中创建一个 PHP 文件,其中包含以下内容(我从 “验证 ImageMagick 安装” 此项中的一项输入中复制了该文件):

<?php

error_reporting(E_ALL);

ini_set( 'display_errors','1');

/* Create a new imagick object */

$im = new Imagick();

/* Create new image. This will be used as fill pattern */

$im->newPseudoImage(50, 50, "gradient:red-black");

/* Create imagickdraw object */

$draw = new ImagickDraw();

/* Start a new pattern called "gradient" */

$draw->pushPattern('gradient', 0, 0, 50, 50);

/* Composite the gradient on the pattern */

$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

/* Close the pattern */

$draw->popPattern();

/* Use the pattern called "gradient" as the fill */

$draw->setFillPatternURL('#gradient');

/* Set font size to 52 */

$draw->setFontSize(52);

/* Annotate some text */

$draw->annotation(20, 50, "Hello World!");

/* Create a new canvas object and a white image */

$canvas = new Imagick();

$canvas->newImage(350, 70, "white");

/* Draw the ImagickDraw on to the canvas */

$canvas->drawImage($draw);

/* 1px black border around the image */

$canvas->borderImage('black', 1, 1);

/* Set the format to PNG */

$canvas->setImageFormat('png');

/* Output the image */

header("Content-Type: image/png");

echo $canvas;

?>

在浏览器中运行此 PHP 文件。它应该显示一个包含文本 “Hello World!” 的图像。

检查错误

检查 php-errors.log 文件是否有任何错误。

您可以在 php.ini 文件中找到 php-errors.log 文件的定义位置。检查此文件中是否有与 ImageMagick 安装相关的最新错误。

PDF 文件需要 Ghostscript

安装并完成上述所有操作后,ImageMagick 可以在 PHP 中用于转换图像,但不能用于将 PDF 文件转换为图像。对于最后一步,似乎也有必要从 https://www.ghostscript.com/download/gsdnld.html 安装 Ghostscript,并且只有在我安装了 64 位版本的 Ghostscript 的情况下,它才能正常工作(即使一切否则我安装的是 32 位版本)。仅需安装 Ghostscript。无需更改 php.ini 或任何其他配置。