Php ImageMagick支持的格式没有值

Php ImageMagick支持的格式没有值,php,windows,imagemagick,Php,Windows,Imagemagick,我已从链接http://imagemagick.org/script/binary-releases.php#windows我使用的是Windows 7和PHP 5.3.8 在install this中,它已正确安装在我的机器中,convert命令工作正常。在我的convert配置上显示的是: 但在我的phpinfo部分,我得到: ImageMagick支持的格式没有值 我得到了所有像这样的图像magick值https://www.evernote.com/shard/s297/sh/1239

我已从链接
http://imagemagick.org/script/binary-releases.php#windows
我使用的是Windows 7和PHP 5.3.8

在install this中,它已正确安装在我的机器中,
convert
命令工作正常。在我的convert配置上显示的是:

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

ImageMagick支持的格式没有值

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


我不知道为什么它没有价值,因为我在32位windows7机器的PHP5.3.8上安装了相同的ImageMagick-6.8.3-7-Q16-x86-dll.exe。我从其他网站下载的
php_imagick.dll
。我不知道我在安装imagemaagick时遇到了什么问题,如果是
php\u imagick.dll
version的问题,有人能为这个配置推荐合适的php\u imagick版本吗

我花了几天时间寻找一个解决方案,最终通过Sysinternals procmon找到了它

我发现apache正在c:\windows\system和/bin文件夹中查找类似IM\u MOD\u xxxx.dll的dll文件。将这些文件复制到其中一个文件夹对我起了作用


祝你好运。

自从它在谷歌上第一次搜索这个问题的解决方案后,我将添加一个对我有用的结果。资料来源:

我在使用PHP5.6时遇到问题,它可以识别扩展,但不支持任何格式。()

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

别忘了让IIS访问imagemagick文件夹

编辑:

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

PHP 5.6的工作组合:


检查一下

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


已设置。

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

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

二进制下载列表:

或旧版本:

在Windows上安装ImageMagick的分步说明:

随着时间的推移,这个程序和PHP的前景发生了变化,因此有很多答案

我现在使用PHP7.1是非常先进的。起初,我把DLL复制得到处都是,就像你做的所有说明一样。幸运的是,所需要的只是最新的PECL软件包和与您的系统对应的Imagick版本,这是一个棘手的部分。如果您想使用PHP扩展,在升级扩展之前,您不能使用最新的Imagick(撰写本文时为版本7)您必须在系统上安装与PHP扩展版本匹配的Imagick版本。

正如其他人所指示的,对于您的PHP版本。因为我使用的是线程安全的x64版本的PHP7.1,所以我想要3.4.3RC1包,这是目前唯一一个带有DLL的PHP版本

在这些文件中,我只需要复制
php\u imagick.dll
。接下来,向您的系统下载最新的IMAKIK,它可能是VC14,此时它似乎只是在系统上安装相应的C++可重分配包来工作。只需解压缩文件并将bin添加到您的路径中。同样,如果您有一个较新版本的Imagick,您会希望用这个来替换它,因为这是一个可以与php扩展一起工作的版本


此时,您应该能够重新启动apache并确认在phpinfo中启用了imagick扩展。它应该向您显示PHP扩展的Imagick版本。同样,如果path中系统上的Imagick版本与PHP扩展所显示的版本相匹配,那么您应该看到它从系统上版本6 Imagick的DLL中获得的支持格式列表。您不需要将它们复制到apache bin或其他任何地方,也不需要制作MAGICK_主文件夹。

我也遇到了同样的问题,并且尝试了所有方法。正如我所想,您不需要在系统上安装ImageMagick来运行PHP的Imagick模块。您只需确保在
apache/bin
目录中包含
CORE\u RL
dll以及
IM\u MOD\u*
dll,然后在
php/ext
目录中包含php\u imagick.dll

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


即使在正确安装imagick和imagemagick之后,如果它不工作,请检查您的Apache环境路径变量。最有可能的情况是,如果path变量未显示安装文件夹中的ImageMagick,请将其添加到windows advanced system settings/environment variables/system variables->path中


重新启动WAMP服务器并检查phponfo for Apache环境路径变量。

我搜索了帖子并尝试了各种建议,持续了几个小时。直到我在这里尝试了这些步骤,我才获得成功:(正如Codesmith所发布的——我同意这些步骤很短,很容易遵循)。我需要在WAMP上安装

此链接后面的页面说明如何确定要下载的正确版本