如何在Windows 7上安装ImageMagick以使用PHP(3)

还有其他关于如何在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并运行testing

当我启动Apache时,我得到一个popup框,显示:

程序无法启动,因为您的计算机缺lessphp5.dll。 尝试重新安装程序来解决这个问题。

然后直接在这之后再来一个:

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

据function,我怀疑某种编译错误。

现在我有了编译器MSVC11的PHP版本5.5.6(xampp 1.8.3),就像php_imagick.dll文件一样。

是从源代码下载ImageMagick并编译我自己的正确方式去? (从来没有在Windows编译过)

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

这不是最新的版本,但它的工作。 (即使不重新启动计算机)

在尝试几乎所有在互联网上发布的解决方案后,终于为我工作了:

环境:

OS: Windows server 2008 R2 (64bit) IIS: 7.5 PHP: 5.5.11 (x86) PHP.ini: VC11, x86 

下载并安装ImageMagick

 ImageMagick-6.8.9-1-Q16-x86-dll.exe 

从Anatol建议的来源下载相应的.zip(赞美Anatol!)

 ImageMagick-6.8.9-1-vc11-x86: 

解压缩到一个临时文件夹,并复制Imagemagick安装(c:\imagemagick)中的“bin”文件夹的内容覆盖文件。

下载.dll并把它放在php扩展文件夹(我用这个)

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

将扩展名添加到php.ini中:

 extension=php_imagick.dll 

保存php.ini并重新启动IIS

最后Image Magick信息显示在一个phpinfo()中; 呼叫。

想想解决这个需要从3个不同地点下载文件的问题是不可思议的。

希望能帮助到你。

这是我做了什么工作注意:真正绊倒了我没有真正解释的一步是,php_imagick.dll版本应该匹配你的安装imagick

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

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

把它放在扩展文件夹中

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

现在的问题是我们需要找出什么版本的imagick的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支持的格式数量:可能会说零。

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

一旦完成安装停止Apache。 从之前放置的php文件夹中删除DLLS,然后再次启动apache。 检查重新启动Apache,它应该都工作。

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

请参阅安装 – imagick-php-7在Windows上使用php 7.0 +安装imagick php扩展。 这是迄今为止唯一真正的解决方案。 它进入非常详细。

更新:21.08.2017

我得到了与PHP 7和IIS ImageMagick(Apache非常相似):Imagick 版本。 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> = 5.4.0和ImageMagick> = 6.5.3-10。

目前不支持ImageMagick 7。

看看phpinfo:

在这里输入图像说明

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

5)重新启动服务器

就这样

它通过以下步骤工作。

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

检查你的系统位是什么。

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

.zip文件中查找php_imagick.dll

如果你不知道如何选择。

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

运行下面的代码显示你已经安装了哪种php, thread safe non thread safe点击这里将帮助你。

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

在Linux上: php -i|grep Thread

或者你可以运行函数phpinfo()并在网页上搜索"Thread"

您将看到Thread Safety enabledThread Safety disabled

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

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

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

变量:MAGICK_HOME

值:C:\ img \ modules \ coders

查看更多