在 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 库扩展?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 8 上使用 wamp 或 xampp 安装 pimcore?
使用 XAMPP 在 Windows 8 上安装 Wordpress 但 PHP 未运行