10

ImageMagick-6.8.3-7-Q16-x86-dll.exe我已经从链接下载并安装http://imagemagick.org/script/binary-releases.php#windows,我使用的是 Windows 7 和 PHP 5.3.8。

安装时,它已正确安装在我的机器中,并且convert命令运行良好。在我的转换配置中,这里显示的是:

在此处输入图像描述

但在我的 phpinfo 部分,我得到:

ImageMagick 支持的格式没有价值

我得到了像这样的所有图像魔法值https://www.evernote.com/shard/s297/sh/12397c86-d016-4ca4-9415-fd541daeca39/2fc504bf5ddba5693efd3249402b2b5c

我不知道为什么它没有价值我在我的 32 位 windows7 机器上的 php 5.3.8 上安装了相同的 ImageMagick-6.8.3-7-Q16-x86-dll.exe 。我php_imagick.dll从其他网站下载的。我不知道我在安装 imagemaagick 时遇到了什么问题,如果是php_imagick.dll版本问题,任何人都可以为此配置建议适当的 php_imagick 版本吗?

4

8 回答 8

10

我花了几天时间寻找解决方案,最后我用 Sysinternals procmon 找到了它。

我发现 apache 正在 c:\windows\system 和 /bin 文件夹中寻找 IM_MOD_xxxx.dll 之类的 dll 文件。将文件复制到其中一个文件夹对我有用。

运气不好。

于 2014-04-08T13:09:12.600 回答
7

并非所有版本的 ImageMagick 都适用于所有版本的 php_imagick.dll。Imagick 扩展 v3.4.* 结合 ImageMagick 7.* 不支持任何图像格式。当我降级到 ImageMagick 6.9.* 时,问题就解决了。

在 phpinfo 的回显中,您可以看到需要哪个版本的 ImageMagick。搜索“使用 ImageMagick 库版本的 Imagick”和“使用 ImageMagick 版本编译的 Imagick”(应该相等)。

二进制下载列表: https ://www.imagemagick.org/download/binaries/

或旧版本: http: //windows.php.net/downloads/pecl/deps/

在 Windows 上安装 ImageMagick 的分步说明: https ://stackoverflow.com/a/28872879/2366136

于 2016-10-24T11:29:44.110 回答
4

自从它在谷歌上寻找解决这个问题的第一个结果以来,我将添加一个对我有用的结果。来源: http: //forums.zend.com/viewtopic.php?t=2397#p15226

我遇到了 PHP 5.6 的问题,它可以识别扩展名,但不支持任何格式。( http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/ )

安装最新版本的 imagemagick(带有动态库)并将 DLL 文件从 imagemagickDir/modules/coders/* 和 imagemagickDir/modules/filters/* 复制到 imagemagick root 有帮助,现在 imagemagick 在调用 php.ini 时可以正常工作。

不要忘记让 IIS 访问 imagemagick 文件夹。

编辑:

当 IIS 成功识别格式时,我遇到了兼容性问题。

PHP 5.6 的工作组合:

http://windows.php.net/downloads/pecl/releases/imagick/3.2.0b2/
http://ftp.icm.edu.pl/packages/ImageMagick/binaries/ImageMagick-6.8.8-9-Q16- x86-dll.exe

于 2014-10-13T07:16:01.173 回答
2

我有同样的问题,并尝试了一切。您不需要- 正如我所想的那样 - 在您的系统上安装 ImageMagick 来运行 PHP 的 Imagick 模块。您只需确保在目录中包含dllCORE_RL_*dllIM_MOD_*apache/bin然后在php/ext目录中包含 php_imagick.dll。

我在 Windows 上通过 XAMPP 运行 PHP 7.0.25 x86,这些说明非常简单和有用:

https://mlocati.github.io/articles/php-windows-imagick.html

于 2017-12-07T16:35:45.593 回答
2

检查

MAGICK_HOME=C:\Program Files (x86)\ImageMagick-6.8.8-Q16\modules\coders

已设置。

于 2016-08-08T15:04:53.077 回答
1

那里有很多答案,因为这个程序和 PHP 的环境随着时间的推移而发生了变化。

我现在正在使用 PHP 7.1。起初,我像您所做的所有说明一样,到处复制 DLL。幸运的是,所需要的只是最新的 PECL 包和适用于您系统的 Imagick 的相应版本,这是棘手的部分。如果您想使用 PHP 扩展,则不能使用最新的 Imagick(在撰写本文时为版本 7),直到扩展升级。您必须在系统上安装与 PHP 扩展版本匹配的 Imagick 版本。

正如其他人所指示的,为您的 PHP 版本下载最新的 imagick PECL 包。由于我使用的是 PHP 7.1 的线程安全 x64 版本,因此我想要 3.4.3RC1 包,这是目前唯一一个为我的 PHP 版本提供 DLL 的包。

在这些文件中,我只需将php_imagick.dll. 接下来,前往http://windows.php.net/downloads/pecl/deps/并为您的系统下载最新的 Imagick,此时可能是 VC14 版本,这似乎只是一个问题在您的系统上安装相应的 C++ Redistributable 包以使其工作。只需解压缩文件并将 bin 添加到您的路径。同样,如果你有一个更新版本的 Imagick,你会想用这个替换它,因为这是一个可以与 php 扩展一起使用的版本。

此时,你应该可以重启 apache 并确认在 phpinfo.xml 中启用了 imagick 扩展。它应该向您显示 PHP 扩展的 Imagick 版本。同样,如果路径中系统上的 Imagick 版本与 PHP 扩展显示的版本相匹配,那么您应该会看到它从系统上版本 6 Imagick 的 DLL 中获得的支持格式列表。您不需要将它们复制到 apache bin 或其他任何地方,也不需要创建 MAGICK_HOME 文件夹。

于 2016-12-25T07:26:00.227 回答
0

即使在正确安装了 imagick 和 imagemagick 之后,如果它不起作用,请检查您的 Apache 环境 PATH 变量。如果路径变量没有显示您的 ImageMagick innatallation 文件夹,最有可能的是,请将其添加到 Windows 高级系统设置/环境变量/系统变量 -> PATH 中。

重新启动 WAMP 服务器并检查 phponfo 以查看 Apache 环境 PATH 变量。

于 2018-01-25T06:15:17.590 回答
0

我搜索了帖子并尝试了各种建议 - 几个小时。直到我尝试了这里的步骤,我才获得成功:https ://mlocati.github.io/articles/php-windows-imagick.html (由Codesmith发布- 我同意这些步骤很短,易于遵循)。我需要安装在 WAMP 上。

此链接后面的页面说明如何确定要下载的ImagickImageMagick的正确版本。只需将三组文件提取到指定目录,在php.ini中进行更改,然后重新启动 WAMP。我的代码仅使用 JPEG 和 PNG 格式,因此在基于格式的 DLL 中,我只移动了那些。

于 2018-04-14T18:23:38.717 回答