![](/img/trans.png)
[英]how to use install imagemagick to use php on windows 8.1
[英]How to install ImageMagick to use with PHP on Windows 7 (3)
还有其他关于如何在 Windows 7 上安装 Imagick 的线程,但到目前为止对我没有帮助。 (也许最近的版本出现了问题)
我已按照以下步骤进行安装:
http://www.imagemagick.org/download/binaries/ImageMagick-6.8.8-1-Q16-x86-dll.exe
http://www.peewit.fr/imagick/php55/vc11/x86/ts/php_imagick.dll
扩展名=php_imagick.dll
保存 ini 文件并重新启动 Apache(如有必要,请重新启动 Windows)
启动Apache并运行测试
当我启动 Apache 时,我得到一个弹出框,显示:
程序无法启动,因为您的计算机缺少 php5.dll。 尝试重新安装程序以解决此问题。
然后紧接着是另一个:
PHP 启动:无法加载动态库 'C:\\xampp\\php\\ext\\php_imagick.dll' - 找不到指定的模块。
根据 funtioneer 的说法,我怀疑存在某种编译错误。
现在我有 PHP 版本 5.5.6 (xampp 1.8.3) 和编译器 MSVC11,它与 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 extensions 文件夹中(我使用了这个)
Imagick for PHP 5.5.x 非线程安全来自: http ://www.peewit.fr/imagick/
使用以下命令将扩展添加到 php.ini:
extension=php_imagick.dll
保存 php.ini 并重启 IIS
最后在 phpinfo() 中显示了 Image Magick 信息; 称呼。
想到要解决从 3 个不同位置下载文件所需的这个问题,真是令人难以置信。
希望能帮助到你。
这是我为使其工作所做的工作注意:真正让我感到困惑但并没有真正解释的步骤是 php_imagick.dll 版本应该与您安装的 imagick 相匹配
好的,我采取的步骤是从http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/下载 php imagick dll(我使用了 php_imagick-3.1.2-5.5-ts-vc11-x86。压缩)
zip 文件将包含许多 dll,请记住这一点,我们将来可能需要它。 将 php_imagick.dll 解压到您的扩展文件夹
把它放在扩展文件夹中
在 php.ini 添加扩展名 = php_imagick.dll
现在的问题是我们需要找出 php_imagick.dll 是为 Open 命令提示符编译的 imagick 版本,然后输入 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以使用 php 7.0 + 在 Windows 上安装 imagick php 扩展。 到目前为止,这只是我找到的真正解决方案。 它非常详细。
我使用 php 7 和 IIS(Apache 非常相似)使用 ImageMagick: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)只得到php_imagick.dll
从https://pecl.php.net/package/imagick
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
或Thread Safety disabled
@embe 已经写出了其他步骤。
现在对于文档没有提到的内容:在您的环境中设置 MAGICK_HOME 值。 ImageMagick 需要这个变量,所以它知道在哪里可以找到所有相关的编码器。
打开控制面板,然后搜索“PATH”。 在结果中,选择“编辑系统环境变量”。 选择“环境变量...”选项,然后添加一个新的“系统变量”(下方列表)。 如果您选择了不同的安装路径,请确保将 C:\\img 替换为您自己的路径。
变量:MAGICK_HOME
值:C:\\img\\modules\\coders
解决了!
在遇到同样的问题和一些谷歌搜索之后,我找到了 Windows 的解决方案,它似乎也适用于每个版本。
在我的情况下,PHP 安装在 c:\\php,我的扩展目录在 c:\\php\\ext。
重启 apache 就完成了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.