6

我通过 WAMP 2.2 和 imagick ( ) 安装了 Windows 7 64 位、PHP 5.4.3 ImageMagick-6.8.3-9-Q16-x64-dll.exe。我尝试使用来自很多来源的 imagick 的 php dll,但它们都在 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

关于如何解决这个问题的任何想法?

4

3 回答 3

4

也许这可以帮助你: 在 WAMP 上安装 IMAGEMAGICK 的分步说明?

http://www.elxsy.com/2009/07/installing-imagemagick-on-windows-and-using-with-php-imagick/

“为了清楚起见,所有的 PHP dll 文件(库)都是 32 位的,所以如果你的系统是 64 位的,你仍然需要下载和运行 32 位的 ImageMagick、Apache 等。”

于 2013-03-22T09:35:30.273 回答
3

我经历了同样的痛苦。Win64+php-x86。它最终变得相对容易修复 - 都是关于路径的。

我首先安装了完整的 ImageMagic-x64,然后最终安装了扩展。后来我注意到安装程序在 PATH 的开头附加了 ImageMagic。以防万一我尝试使用 x86 版本并收到有关缺少 DLL 的不同错误。

所以,以防万一我完全卸载了 ImageMagic 并从环境中清除了所有对它的引用(它在 PATH 和 MAGICK_HOME 中)。

然后我只安装了扩展(在我的例子中来自http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/我得到了 php_imagick-3.1.2-5.4-nts-vc9-x86.zip ) 并将其解压缩到 ext 文件夹中。

在我尝试从命令提示符运行此命令后发现:php -i并得到一个错误,它找不到CORE_RL_wand_.dll - 但我确实在 ext 文件夹中看到了它!

在 PATH 环境变量的末尾添加 C:\Progra~2\PHP\EXT 解决了它(在确保没有其他 DLL 干扰之后)。

注意:我使用了“C:\Program Files (x86)\php\ext”的 8.3 路径——以防万一我看到 PHP 有时很挑剔,无法解析带有空格的路径。

另外-在弄乱了PATH之后,您可能必须重新启动PC-在我的情况下,它可以立即在命令提示符下运行,但是IIS具有缓存(较旧)路径。

总之:我怀疑 PHP 扩展依赖于一些 DLL(它作为 ZIP 的一部分提供),但相同的也是标准 ImageMagick 安装的一部分,除了两者不完全相同 - 如果你碰巧是加载错误的有趣的事情发生......

于 2014-12-17T02:24:39.537 回答
1

对于 64 位 WAMP(在我的情况下是 PHP 5.4.x,PHP 5.4.12 线程安全),工作组合如下:

ImageMagick-6.8.7-8-Q16-x64-dll.exe或可能来自此处的最新 Q16/x64/DLL:链接

php_imagick-svn20120508-5.4-VC9-x64来自这里:http ://www.mediafire.com/php-win64-extensions

于 2014-01-08T10:30:28.947 回答