在WAMP上安装IMAGEMAGICK的分步说明?

时间:2010-05-31 09:14:39

标签: php imagemagick wamp

似乎没有任何简明的教程/演练来在WAMP上安装ImageMagick以便与PHP一起使用。

我已尝试过几十种二进制版本与不同php扩展dll文件的组合。我可以从命令行中获得imagemagick正常工作,我可以在WAMP扩展中将其显示为勾选,但实际上无法使用它。

有没有人遇到安装这个软件的好指南?

我跟着http://www.knowledge-transfers.com/it/installing-imagemagick-on-windows-setup-imagick-on-php没有运气......


更新:当我按照Windows农民对Windows7的回答中的步骤进行操作时会发生这种情况。我的php.ini设置如下:

extension_dir = "c:/wamp/bin/php/php5.3.0/ext/"

extension=php_imagick.dll

我重新启动并按此顺序获得这两个错误

alt text alt text

这里是dll文件,它应该是:

alt text

8 个答案:

答案 0 :(得分:65)

我知道这是旧帖子,但我花了一整天时间才能让它发挥作用,所以这里有帮助我的步骤:

  1. 下载ImageMagick二进制版本 - http://www.imagemagick.org/script/download.php
  2. 安装在 C:\ imagemagick ,最后一步检查“将应用程序目录添加到系统路径
  3. http://www.peewit.fr/imagick/下载 Imagick DLL:PHP5.6.x 版本(我在本地主机上安装了5.6+版本
  4. php_imagick.dll 复制到 C:\ wamp \ bin \ php \ ext
  5. http://pecl.php.net/package/imagick/3.1.2/windows下载 PHP 5.6线程安全(TS)x86 版本
  6. CORE_RL _ * 文件复制到C:\ wamp \ bin \ apache \ bin \
  7. 编辑 C:\ wamp \ bin \ apache \ bin \ php.ini 中的 php.ini 文件,添加 extension = php_imagick.dll 扩展部分中的行
  8. 将所有文件从 C:\ imagemagick \ modules \ coders C:\ imagemagick \ modules \ filters 复制到 C:\ imagemagick 加载ImageMagick支持的格式
  9. 转到控制面板 - >系统 - >高级设置 - >环境变量 - >新系统变量 - > MAGICK_HOME = C:\ imagemagick
  10. 重新启动Wamp服务器并检查phpickfo()for imagick plugin
  11. 如果上一步不起作用,请重新启动Windows

答案 1 :(得分:22)

我已经改进fsasvari答案,以满足一般情况和版本。所有归功于他。

在WAMP中安装Imagick

  1. 打开您的phpinfo()页面
  2. 检查以下内容  
    PHP版本(我的:5.5.12)  
    编译器(我的:MSVC11(Visual C ++ 2012))  
    建筑:(我的:x64)  
    线程安全:启用  
    加载配置文件(我的:C:\ wamp \ bin \ apache \ apache2.4.9 \ bin \ php.ini)  
    extension_dir :(我的:c:/wamp/bin/php/php5.5.12/ext/)  
    Apache Bin(不在phpinfo()页面):C:\ wamp \ bin \ apache \ apache2.4.9 \ bin \

  3. here获取与您的架构的最新版本匹配(对我来说是ImageMagick-x86_64-pc-windows.exe)。

  4. 将所有文件从C:\ imagemagick \ modules \ coders和C:\ imagemagick \ modules \ filters复制到C:\ imagemagick以加载ImageMagick支持的格式

  5. 安装在C:\ imagemagick中,最后一步检查"将应用程序目录添加到系统路径"

  6. 下载与您的架构匹配的PECL  http://pecl.php.net/package/imagick/3.1.2/windows  (对我来说:5.5线程安全(TS)x64)

  7. 解压缩并将所有CORE_RL_ *文件复制到apache bin文件夹(我的:C:\ wamp \ bin \ apache \ apache2.4.9 \ bin)

  8. 将php_imagick。*文件复制到扩展名dir(我的:c:/wamp/bin/php/php5.5.12/ext /)

  9. 编辑php.ini文件(我的:C:\ wamp \ bin \ apache \ apache2.4.9 \ bin \ php.ini)
    在扩展程序部分添加extension=php_imagick.dll

  10. 转到“控制面板” - >系统 - >高级设置 - >环境变量 - >新系统变量 - > MAGICK_HOME = C:\ imagemagick

  11. 重启Wamp服务器并检查想象插件的phpinfo()

  12. 如果上一步不起作用,请重新启动Windows(特别是如果您以前在不同的文件夹/版本中安装了imagemagick)

答案 2 :(得分:3)

这对我来说也很头疼,但不幸的是我在很久以前安装了它。您发布的链接中的说明似乎准确无误。你运行过phpinfo();看它是否安装在Apache环境中?它应该列为MAGICK_HOME。

确保在httpd.conf文件的末尾设置了“SetEnv MAGICK_HOME C:/ imagemagick”。假设imagemagick安装在该目录中。

请确保您的php.ini文件中也有扩展名“php_imagick.dll”。

如果您拥有所有这些设置,它应该可以正常工作。

另一方面,这里有一个很好的小图书馆,可以让想象力更容易使用。 https://github.com/francodacosta/phmagick

我希望有所帮助!祝你好运!

答案 3 :(得分:3)

PHP 5.4 php_imagick.dll在这里:http://www.peewit.fr/imagick/。 我读到某处64位php无法使用php_imagick。当您在apache_error.log

中收到此错误时可能就是这种情况
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.3/ext/php_imagick.dll' -
%1 is not a valid Win32 application.\r\n in Unknown on line 0

如上所述,还有必要将其添加到httpd.conf中(另外,我读到你不能有空格/短划线/点):

SetEnv MAGICK_HOME C:/imagemagick"

如果你不这样做,你可能会收到这个错误:

"PHP Warning:  PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.3/ext/php_imagick.dll' -
The specified procedure could not be found. in Unknown on line 0"

最后,本文可能会有所帮助:http://www.elxsy.com/2009/07/installing-imagemagick-on-windows-and-using-with-php-imagick/

答案 4 :(得分:1)

我从未使用WAMP,但我发现有时在Windows上安装PHP扩展我需要确保扩展所依赖的任何dll都在Windows系统路径中。如果有多个与imagemagick扩展一起打包的dll,请尝试将dll所在的目录添加到Windows系统PATH然后重新启动(以确保Web服务器获取新环境的副本)。

答案 5 :(得分:1)

我知道这是一个老问题,但我想这有一天会帮助某人......

如果您使用WAMPP并安装了PHP 5.4.x,请转到此处http://www.peewit.fr/imagick/

按照说明下载相应的文件。它会起作用。

答案 6 :(得分:0)

请在StackOverflow上看到这个答案:

Installing ImageMagick extension with php/windows

前段时间我回答了这个问题。这解决了DLL不匹配错误。

答案 7 :(得分:0)

对于WAMPSERVER 3.1.9 64位,PHP版本:7.3.5

我对此也有很多麻烦,而我做错的一些事情是我怀疑ImageMagick是否会在新的php版本中加载。但是您必须相信它会起作用,并且不要尝试使用较早的php版本:)

这是我的方法,请记住使用您自己的设置和版本/文件夹。

开始之前,请确保您正在运行要运行的php版本。如果安装了Wampserver 3,则可以单击wamp图标并转到php版本,然后激活要运行的版本。


1

在此处http://ftp.icm.edu.pl/packages/ImageMagick/binaries/

获取适用于您系统的最新 ImageMagick 版本。

(我在底部获得了 ImageMagick-x86_64-pc-windows.exe


2

C:/ imagemagick 中安装 ImageMagick (我用小写), 在安装过程中,系统会要求您提供一些东西,只需确保选中 path 东西即可。

如果允许的话,还应该勾选转换

然后,安装后,您可以运行CMD 并键入 convert -version 来查看是否已安装imagick。


3

运行<?php phpinfo(); ?>并找出以下设置:

PHP版本: 7.3.5

系统: Windows

编译器: MSVC15(Visual C ++ 2017)([VC15])

架构:x64 (或者您可能拥有x86)

线程安全:已启用([[TS] else [NTS])

您可能还有其他设置,但是您需要记住自己的设置才能下载正确的 php_imagick.dll


4

从此处获取您想要的PHP版本的 php_imagick.dll http://pecl.php.net/package/imagick

我从这里得到我的信息:http://pecl.php.net/package/imagick/3.4.4/windows for php 7.3

从phpinfo()记住您的信息,它必须匹配,否则将无法工作。


5

解压缩后,复制 php_imagick.dll 并将其粘贴到 C:/wamp64/bin/php/php7.3.5/ext /

然后将所有其他 .dll 文件从该文件夹复制到 C:/wamp64/bin/apache/apache2.4.39/bin /

是的,它很脏,但是您会像这样工作。


6

C:/wamp64/bin/php/php7.3.5/phpForApache.ini 中添加 extension = php_imagick.dll

我在文件中其他扩展名之后添加了它。


7

重新启动所有Wamp服务。

如果您以前在搞乱安装,可能由于某些奇怪的缓存内容而不得不重新启动计算机。


8

如果imagick出现,请再次检查phpinfo()并尝试类似$im = new Imagick();


9

点击Wamp图标-> php->扩展名,应列出 php_imagick


祝你好运! :)