如何在Windows 7上安装ImageMagick与PHP一起使用(3)

时间:2014-01-07 16:27:21

标签: php windows windows-7 imagemagick imagick

还有其他关于如何在Windows 7上安装Imagick的帖子,但到目前为止我没有帮助。 :(

(或许最近的版本出现了问题)

我已按照以下步骤安装:

  1. 下载并安装ImageMagick

      

    http://www.imagemagick.org/download/binaries/ImageMagick-6.8.8-1-Q16-x86-dll.exe

  2. 下载php_imagick.dll并复制到扩展名dir(c:\ xampp \ php \ ext)

      

    http://www.peewit.fr/imagick/php55/vc11/x86/ts/php_imagick.dll

  3. 编辑php.ini文件并添加新扩展名(c:\ xampp \ php \ php.ini)

      

    延长= php_imagick.dll

  4. 保存ini文件并重启Apache(如有必要,重新启动Windows)

  5. 启动Apache并运行测试

  6. 当我启动Apache时,我会弹出一个显示:

    的弹出框
      

    程序无法启动,因为您的计算机缺少php5.dll。尝试重新安装该程序以解决此问题。

    然后直接在另一个之后:

      

    PHP启动:无法加载动态库'C:\ xampp \ php \ ext \ php_imagick.dll' - 找不到指定的模块。

    According to funtioneer我怀疑某种编译错误。

    现在我有PHP版本5.5.6(xampp 1.8.3),编译器MSVC11与php_imagick.dll文件相同。

    从源代码下载ImageMagick并以自己正确的方式编译它吗? (以前从未在Windows中编译过)

9 个答案:

答案 0 :(得分:23)

我尝试从here下载ImageMagick-6.7.7-5-Q16-windows-dll,而不是使用最新版本。那个实际上与http://www.peewit.fr/imagick/的php_imagick.dll(Imagick for PHP 5.5.x)一起工作。

这不是最新版本但它有效。 (即使没有重新启动计算机)

答案 1 :(得分:10)

在尝试了几乎所有在互联网上发布的解决方案后,最终对我有用的是什么:

环境:

OS: Windows Server 2008 R2 (64bit)

IIS: 7.5

PHP: 5.5.11 (x86)

PHP.ini: VC11, x86

Download并安装ImageMagick

ImageMagick-6.8.9-1-Q16-x86-dll.exe
来自Anatol的

Download相应的.zip建议来源(感谢Anatol!)

ImageMagick-6.8.9-1-vc11-x86:

提取到临时文件夹并复制Imagemagick安装(c:\imagemagick)内的“bin”文件夹的内容,以便覆盖我的文件。

下载.dll并将其放入php extensions文件夹中 (我用过这个)

Imagick for PHP 5.5.x非线程安全来自: http://www.peewit.fr/imagick/

使用以下命令将扩展名添加到php.ini:

extension=php_imagick.dll

保存php.ini并重新启动IIS

最后,Image Magick信息显示在phpinfo()中;调用

想到解决从3个不同位置下载文件所需的这个问题是不可思议的。

希望它有所帮助。

答案 2 :(得分:7)

这是我为了让它发挥作用所做的 注意:真正让我失望的步骤是没有真正解释的是php_imagick.dll版本应该与你的imagick安装相匹配

好的,我采取的步骤是 从下载php imagick dll http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/(我使用过php_imagick-3.1.2-5.5-ts-vc11-x86.zip)

zip文件将包含许多dll记住这一点,我们将来可能需要它。 将php_imagick.dll解压缩到您的扩展文件夹

将它放在扩展文件夹

在php.ini中添加 extension = php_imagick.dll

现在问题是我们需要找出php_imagick.dll的编译版本 打开命令提示符并输入php -e -v 我这样做的方式是使用您之前下载的zip,将其他DLL解压缩到您的php文件夹,可能会弹出一条错误消息,说明缺少dll的内容。因此,从之前的zip文件夹中将DLL解压缩到PHP文件夹中。 尝试再次运行php -e -v,它应该可以正常工作,没有错误消息。 如果是这样的话 重启apache。现在看看phpinfo()并转到imagick部分。它会说ImageMagick版本:我说ImageMagick 6.8.6-8,这是他们在他们的网站上的旧版本。问题是ImageMagick支持的格式数量:可能会说零。

转到here并下载匹配的版本并安装(安装时请确保选中添加到路径变量的复选框)

完成安装Stop apache后。从之前放入的php文件夹中删除DLLS,然后再次启动apache。校验 重新启动apache,它应该都可以工作。

答案 3 :(得分:3)

应该使用的ImageMagic分布来自http://windows.php.net/downloads/pecl/deps/。 ImageMagic二进制文件需要使用与PHP扩展名相同的CRT构建。

答案 4 :(得分:3)

请参阅installing-imagick-php-7,了解如何使用php 7.0 +在Windows上安装imagick php扩展程序。这是迄今为止我发现的唯一真正的解决方案。它非常详细。

答案 5 :(得分:2)

更新时间:21.08.2017

我使用php 7和IIS(Apache非常相似)工作ImageMagick: 想象版本。 3.4.3

  

PHP 7 nts x86,Windows Server 2012 x64,IIS 8.5

1)安装VC ++ 2015 https://www.microsoft.com/en-US/download/details.aspx?id=48145

2)从https://pecl.php.net/package/imagick获取 php_imagick.dll

3)将它放入php / ext /文件夹并将extension=php_imagick.dll添加到php.ini

<强>注意! 最低版本支持PHP&gt; = 5.4.0和ImageMagick&gt; = 6.5.3-10。

目前不支持ImageMagick 7.

看看phpinfo:

enter image description here

您必须安装ImageMagick 6.9.3-7 Q16 x86 4)安装ImageMagick 6.9.3-7 Q16 x86 dll 来自http://ftp.icm.edu.pl/packages/ImageMagick/binaries/ 不要取消选中&#34;将变量添加到路径&#34;。

5)重启服务器

那就是

答案 6 :(得分:0)

按以下步骤操作。

php 5.5 32bit ts + apache 2.4 + windows 10 64bit + Imagick 6.9.3-5 + php_imagick.dll ts

检查你的系统位是什么。

从中选择php_imagick.dll版本 http://windows.php.net/downloads/pecl/releases/imagick/

php_imagick.dll文件

中查找.zip

如果您不知道如何选择。

在命令行窗口输入php -v获取php版本

运行以下代码可以显示您安装了哪种PHP,thread safenon thread safe。点击here可以为您提供帮助。

在Windows上:php -i|find "Thread"

在Linux上:php -i|grep Thread

或者您可以在网页上运行功能phpinfo()并搜索"Thread"

您会看到Thread Safety enabledThread Safety disabled

@embe已经写出了其他步骤。

答案 7 :(得分:0)

现在有些文档未提及:在您的环境中设置MAGICK_HOME值。 ImageMagick需要这个变量,因此它知道在哪里找到所有相关的编码器。

打开控制面板,然后搜索“PATH”。在结果中,选择“编辑系统环境变量”。选择“环境变量...”选项,然后添加一个新的“系统变量”(下面的列表)。如果您选择了不同的安装路径,请确保将C:\ img替换为您自己的路径。

变量:MAGICK_HOME

值:C:\ img \ modules \ coders

see more

答案 8 :(得分:0)

解决了!

在遇到相同的问题并进行了谷歌搜索之后,我找到了适用于Windows的解决方案,而且似乎也适用于每个发行版。

在我的情况下,PHP安装在c:\ php,扩展目录位于c:\ php \ ext。

  1. 将“ php_imagick *”复制到 c:\ php \ ext
  2. 将“ CORE_RL _ *”,“ FILTER _ *”,“ IM_MOD_ *”复制到 c:\ php
  3. 在php.ini中添加“ extension = imagick”

重新启动apache,然后完成。