在 xampp Windows 上安装 imagick 库扩展?

Posted

技术标签:

【中文标题】在 xampp Windows 上安装 imagick 库扩展?【英文标题】:Installing imagick library extension on xampp Windows? 【发布时间】:2020-06-20 15:29:57 【问题描述】:

我必须为一个论文项目将 pdf 转换为图像格式(jpg 或 png),并计划在 xampp 上安装 imagick 库,但事实证明这很棘手。顺便说一下,我目前的php版本是PHP 7.4.3

我通过此链接安装 imagick 的步骤:https://ourcodeworld.com/articles/read/349/how-to-install-and-enable-the-imagick-extension-in-xampp-for-windows

    已安装 imageMagick (ImageMagick-7.0.10-0-Q16-x64-dll.exe )在我的 Windows 10 电脑上(通过magick -version 检查并能够显示安装在电脑上的 imageMagick 版本。)

    将 php_imagick.dll 添加到我从 PHP PECL 网站获得的 xampp/php/ext。 3.4.4 stable 2019-05-02 imagick-3.4.4.tgz (247.5kB) DLL

    通过 extension=imagick 启用 php.ini 文件的扩展

    添加了我从 PECL DEPS 获得的二进制文件(IMO 和 CORE .dll)。 2017 年 11 月 23 日下午 3:58 47633113 ImageMagick-7.0.7-11-vc15-x64.zip

在运行 phpinfo() 时,它显示以下项目:

    我决定使用代码测试库 <?php $image = new Imagick(); $image->newImage(1, 1, new ImagickPixel('#ffffff')); $image->setImageFormat('png'); $pngData = $image->getImagesBlob(); echo strpos($pngData, "\x89PNG\r\n\x1a\n") === 0 ? 'Ok' : 'Failed'; ?> 但网页是空白

    我尝试将 xampp/apache/bin 添加到 Windows 中的 PATH 以解决问题,但问题仍然存在。此外,这是 php intelephense(vscode 中的扩展)产生的:

有没有人可以就如何完成这项工作提供任何建议?

【问题讨论】:

【参考方案1】:

为什么不直接使用 Imagemagick?然后,您可以使用标准设置创建批处理文件,您可以将文件放入其中。您需要在 Imagemagick 和 Imagemagick 自动链接到它之前安装 Ghostscript

只要你允许它在安装过程中设置环境变量,它就可以作为一个批处理文件工作:

magick -density 400 %1 "%~n1.png"

您可以在该行中添加任何您想要的内容。

您也可以从命令行运行:

 magick -density 400 "Path\to\input.pdf" "Path\to\th_%~n1.png"

编辑以回答评论:

我有两个网站直接在 php 中通过 exec() 使用 Imagemagick。我不使用 Imagik,因为我发现 Imagemagick 更简单,而且它有更多选择。 Imagick 应该更安全,更快捷。 在服务器上,你会使用这样的东西:

exec("magick -density 400 \"Path\to\input.pdf\" \"Path\to\output.png\" ");

不确定是否在此处发布链接,但请查看我的个人资料

【讨论】:

如果我打算为网页制作 pdf 到图像的转换器功能,你的方法会起作用吗?目前我不熟悉创建批处理文件或 ghostscript。 我尝试使用您网站上的示例运行 IM 命令,它可以正常工作。谢谢。

以上是关于在 xampp Windows 上安装 imagick 库扩展?的主要内容,如果未能解决你的问题,请参考以下文章

在 XAMPP (Windows) 上安装 PECL 扩展

如何在 Windows 8 上使用 wamp 或 xampp 安装 pimcore?

使用 XAMPP 在 Windows 8 上安装 Wordpress 但 PHP 未运行

无法在 Windows 上安装 PEAR 邮件包 XAMPP

在 windows xampp 上安装奏鸣曲

如何在 Xampp 安装的 Windows 上禁用 Apache 中的 SSLv3