使用 MAMP 2.1.1 在 OS X 上安装 imagick

使用 MAMP 2.1.1 在 OS X 上安装 imagick

我真诚地希望在我失去所有头发之前有人能帮助我。

我正在开发一个需要 imagick 扩展的 php web 应用程序,并想在本地测试它。我安装了 os x 10.8.2 (Mountain Lion) 和 MAMP 2.1.1。

我首先使用 MacPorts 安装了 imagemagick,但后来无法成功安装 imagick,因此完全删除了 MacPorts,并通过 homebrew 安装了 imagemagick。

按照各个网站的指示,我已经取得了进展,现在已经编译了 imagick 3.1.0RC2 并安装到 MAMP 的 lib 目录中,但是当 apache 开始尝试加载 imagick.so 时出现以下错误:

PHP Warning:  PHP Startup: Unable to load dynamic library
'/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/imagick.so'
- dlopen(/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/imagick.so, 9): 
 Library not loaded: /usr/local/lib/libfreetype.6.dylib
   Referenced from: /usr/local/lib/libMagickWand-Q16.7.dylib
   Reason: Incompatible library version: libMagickWand-Q16.7.dylib 
   requires version 16.0.0 or later, but libfreetype.6.dylib provides version 15.0.0 in Unknown on line 0

使用 otool -L /usr/local/lib/libfreetype.6.dylib 显示

/usr/local/lib/libfreetype.6.dylib:
/usr/local/lib/libfreetype.6.dylib (compatibility version 16.0.0, current version 16.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

但仍然存在此错误,抱怨libfreetype版本不兼容。

我已经为此工作了 10 个小时,尝试了所有方法,从使用 pecl 安装到从源代码编译不同的包,但很快就失去了耐心。

请问有人有想法吗...

Kv. 艾格特

答案1

您确定 MacPorts 上的 imagemagick 安装与 MacPorts 本身一起被删除了吗?我有一个通过 Homebrew 运行的 imagemagick 安装,并且我有一个不同版本的 libMagickWand。

阶段可能brew link因存在现有安装而失败。尝试brew doctor找出brew audit整体设置中存在的问题,然后brew unlink imagemagick检查brew link imagemagick输出是否正常。

注意:无论如何,您的错误消息似乎毫无意义,但是根据我所看到的任何合理的答案,这可能就是问题所在。

相关内容