似乎没有任何简明的教程/演练来在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
我重新启动并按此顺序获得这两个错误
这里是dll文件,它应该是:
答案 0 :(得分:65)
我知道这是旧帖子,但我花了一整天时间才能让它发挥作用,所以这里有帮助我的步骤:
答案 1 :(得分:22)
我已经改进fsasvari答案,以满足一般情况和版本。所有归功于他。
在WAMP中安装Imagick
检查以下内容
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 \
从here获取与您的架构的最新版本匹配(对我来说是ImageMagick-x86_64-pc-windows.exe
)。
将所有文件从C:\ imagemagick \ modules \ coders和C:\ imagemagick \ modules \ filters复制到C:\ imagemagick以加载ImageMagick支持的格式
安装在C:\ imagemagick中,最后一步检查"将应用程序目录添加到系统路径"
下载与您的架构匹配的PECL http://pecl.php.net/package/imagick/3.1.2/windows (对我来说:5.5线程安全(TS)x64)
解压缩并将所有CORE_RL_ *文件复制到apache bin文件夹(我的:C:\ wamp \ bin \ apache \ apache2.4.9 \ bin)
将php_imagick。*文件复制到扩展名dir(我的:c:/wamp/bin/php/php5.5.12/ext /)
编辑php.ini文件(我的:C:\ wamp \ bin \ apache \ apache2.4.9 \ bin \ php.ini)
在扩展程序部分添加extension=php_imagick.dll
行
转到“控制面板” - >系统 - >高级设置 - >环境变量 - >新系统变量 - > MAGICK_HOME = C:\ imagemagick
重启Wamp服务器并检查想象插件的phpinfo()
如果上一步不起作用,请重新启动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 。
祝你好运! :)