还有其他关于如何在Windows 7上安装Imagick的线程,但目前为止还没有帮助。 🙁
(也许问题出现了更新的版本)
我已经按照以下步骤来安装:
下载并安装ImageMagick
http://www.imagemagick.org/download/binaries/ImageMagick-6.8.8-1-Q16-x86-dll.exe
下载php_imagick.dll并复制到扩展名为dir(c:\ xampp \ php \ ext)
http://www.peewit.fr/imagick/php55/vc11/x86/ts/php_imagick.dll
编辑php.ini文件并添加新的扩展名(c:\ xampp \ php \ php.ini)
延长= php_imagick.dll
保存ini文件并重新启动Apache(如有必要,重新启动Windows)
启动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扩展。 这是迄今为止唯一真正的解决方案。 它进入非常详细。
我得到了与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 enabled
或Thread Safety disabled
其他步骤已经由@embe写出来了。
现在,文档没有提到:在您的环境中设置MAGICK_HOME值。 ImageMagick需要这个变量,所以它知道在哪里找到所有相关的编码器。
打开控制面板,搜索“路径”。 在结果中,选择“编辑系统环境变量”。 选择“环境变量…”选项,并添加一个新的“系统变量”(下面的列表)。 如果您选择了不同的安装路径,请确保使用您自己的路径替换C:\ img。
变量:MAGICK_HOME
值:C:\ img \ modules \ coders
查看更多