使用Windows 7在XAMPP 1.8.3上运行ImageMagick

时间:2014-01-10 22:39:56

标签: php imagemagick xampp imagick

我一直在努力让ImageMagick在我的localhost上工作(在Windows 7上运行XAMPP 1.8.3)。我已经检查并尝试了我可以在本网站上找到的所有解决方案,以及其他几十种解决方案。什么都行不通。无论我尝试使用ImageMagick构建和想象DLL的哪种组合,当我尝试启动Apache时,总是会遇到某种“无法找到dll”的错误(具体消息因我正在尝试的组合而异,但它始终是某种缺失的DLL消息)。任何人都可以给我一个(适度近期)XAMPP / ImageMagick / Imagick的组合吗?

3 个答案:

答案 0 :(得分:34)

行。我终于找到了一个有效的组合。在 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:来自http://www.peewit.fr/imagick/
  • 的PHP5.5.x版本

注意:尝试此操作后,Apache启动时没有任何错误消息。我没有重新启动计算机(刚重启Apache)。我确实将ImageMagick安装在名称中没有空格的目录中(正如有人建议某些安装可能存在问题)。就我而言,我将它安装到c:\ xampp \ imagemagick。

祝你好运!

答案 1 :(得分:13)

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之类的东西将其作为后台任务运行。这是出于安全和性能原因。

答案 2 :(得分:2)

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

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

所以我的解决方案/答案"它不是真正的一个,它主要是以不同的方式调用ImageMagick来避免这个问题,就像mediawiki那样。

相关问题