使用 Windows 7 在 XAMPP 1.8.3 上运行 ImageMagick

Posted

技术标签:

【中文标题】使用 Windows 7 在 XAMPP 1.8.3 上运行 ImageMagick【英文标题】:Running ImageMagick on XAMPP 1.8.3 with Windows 7 【发布时间】:2014-01-30 02:28:36 【问题描述】:

我已经尝试了几个小时让 ImageMagick 在我的本地主机上工作(在 Windows 7 上运行 XAMPP 1.8.3)。我已经检查并尝试了我可以在这个网站上找到的所有解决方案,以及其他几十个解决方案。没有任何效果。无论我尝试使用 ImageMagick 构建和 imagick DLL 的哪种组合,当我尝试启动 Apache 时,我总是会遇到某种“找不到 dll”错误(具体消息会根据我尝试的组合而有所不同,但它总是某种缺失的 DLL 消息)。谁能给我一个(最近)有效的 XAMPP/ImageMagick/Imagick 组合吗?

【问题讨论】:

【参考方案1】:

好的。我终于找到了一个有效的组合。在 MUCH 反复试验之后,我终于能够让以下组合在我的机器上工作。希望它适用于其他可能为此苦苦挣扎的人。

操作系统:Windows 7 64 位 php:5.5.6 XAMPP:1.8.3 编译器:MSVC11 架构:x86 ImageMagick:ImageMagick-6.7.7-5-Q16-windows-dll(可用here) Imagick DLL: PHP5.5.x 版本来自http://www.peewit.fr/imagick/

注意:一旦我尝试了这个,Apache 启动时没有任何错误消息。我不必重新启动计算机(只需重新启动 Apache)。我确实将 ImageMagick 安装在名称中没有空格的目录中(正如一些人认为的那样,某些安装可能存在问题)。就我而言,我将它安装到 c:\xampp\imagemagick。

祝你好运!

【讨论】:

也救了我的命。在我按照您的步骤操作之前,我浪费了几个小时试图让它发挥作用,但什么也没有。 很高兴听到这很有帮助。这真的是不必要的复杂。我浪费了几天时间试图找到一个可行的配置。 不幸的是,这种组合不适用于 xampp 1.8.3(与您的版本相同)、PHP 版本 5.5.1 和 windows 7 32 位。 :( 我想我必须尝试其他版本... 那么如何将扩展链接到二进制文件? 工作,谢谢! :) 如果您收到有关版本不匹配的错误,请下载您的 PHP 版本的 DLL。【参考方案2】:

Imagick 是一个 PECL 扩展,official windows.php.net 网站已经编译了 PECL 扩展的版本。

请从以下网址下载 Imagick: http://windows.php.net/downloads/pecl/releases/imagick/

然后从以下位置下载 ImageMagick: http://windows.php.net/downloads/pecl/deps/

请注意,从一个站点下载 Imagick,从另一个站点下载 ImageMagick 可能无法正常工作!这是因为在编译 Imagick 时,它会使用几个设置,这些设置会根据编译时所针对的 ImageMagick 版本而有所不同。

仅供参考,Imagick 扩展的维护者推荐 not running it inside Apache,而是通过像 SupervisorD 或 cron 这样的后台任务来运行它。这是出于安全和性能方面的考虑。

【讨论】:

这篇文章的作者拯救了我的一天。我遇到了很多问题,因为我是从作者那里下载发行版的,而不是从 pecl 部门下载的。【参考方案3】:

花了很多时间试图让这个该死的东西正常工作(Windows 7,64 位),但没有成功,我决定看看其他系统,看看他们是如何处理这个问题的。 mediawiki 所做的只是不使用 ImageMagick/PHP 扩展!他们直接调用 ImageMagick convert.exe 程序并使用结果(参见 mediawiki 包中的 includes/media/Bitmap.php)。

你不能真的责怪人们放弃 PHP 扩展,因为显然它必须使用“正确的”不断变化的编译器进行编译,并且至少与 apache 和 ImageMagick 构建相匹配。令人惊讶的是,这个问题已经持续了五年多,仍然没有得到解决。

所以我的“解决方案/答案”并不是真正的一个,它基本上是调用 ImageMagick 来避免问题的另一种方式,就像 mediawiki 所做的那样。

【讨论】:

以上是关于使用 Windows 7 在 XAMPP 1.8.3 上运行 ImageMagick的主要内容,如果未能解决你的问题,请参考以下文章

在 XAMPP 1.8.3 windows 7 安装上升级 PHP

在 XAMPP 1.8.3 windows 7 安装上升级 PHP

Xampp 1.8.1:Apache 无法在端口 8080 中启动,该端口正被 tomcat 7 使用

为啥我可以在 Windows 7 上使用 XAMPP 登录 MariaDB

Windows 7 中的 XAMPP 1.7.7 使用 curl 不返回任何内容

如何使端口 80 可用?在 Windows 7 上安装 xampp 1.7.7?