我有Windows 7 64位,PHP 5.4.3通过WAMP 2.2和imagick(ImageMagick-6.8.3-9-Q16-x64-dll.exe
)安装。我试图从很多来源使用php的dread of 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
关于如何解决这个问题的任何想法?
答案 0 :(得分:4)
也许这可以帮到你: step-by-step instructions for installing IMAGEMAGICK on WAMP? 和
http://www.elxsy.com/2009/07/installing-imagemagick-on-windows-and-using-with-php-imagick/
“只是为了说清楚,所有PHP dll文件(库)都是32位,所以如果你的系统是64位,你仍然需要下载并运行32位ImageMagick,Apache等。”
答案 1 :(得分:3)
我经历了同样的痛苦。 Win64平台+ PHP-86。它最终变得相对简单 - 它完全是关于路径的。
我首先安装了完整的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干扰之后)。
注意:我使用8.3路径“C:\ Program Files(x86)\ php \ ext” - 以防万一我看到PHP有时挑剔且无法解析带有空格的路径。
另外 - 在搞乱了PATH后你可能需要重新启动电脑 - 在我的情况下,它可以立即从命令提示符开始工作,但IIS有一个缓存(较旧)的路径。
总之:我怀疑PHP扩展依赖于一些DLL(它作为ZIP的一部分提供),但是相同的也是标准ImageMagick安装的一部分,除了两者不完全相同 - 如果你碰巧正在装错了有趣的事情......
答案 2 :(得分:1)
对于64位WAMP(在我的情况下为PHP 5.4.x,PHP 5.4.12线程安全),工作组合如下:
ImageMagick-6.8.7-8-Q16-x64-dll.exe 或可能来自此处的最新Q16 / x64 / DLL:http://www.imagemagick.org/script/binary-releases.php#windows
和 php_imagick-svn20120508-5.4-VC9-x64 从这里开始:http://www.mediafire.com/php-win64-extensions