【发布时间】:2014-06-11 14:56:40
【问题描述】:
我的目标是将 pdf 文件转换为图像,以便我可以将它们用作网站上的缩略图。我使用 codeigniter 和 XAMPP。但是,我在尝试将 php 包装器加载到图像魔术时遇到了问题。我做了什么:
我使用 brew 安装了 ghostscript(ghostscript: stable 9.14) 和 imagemagick(imagemagick: stable 6.8.8-9)。
之后,我开始使用与我的 xampp 安装捆绑在一起的 pecl 安装 imagick 3.1.2(imagemagick 的 php 包装器)。到目前为止没有问题。
我已经测试过:转换 file.pdf file.jpg,这工作正常且没有问题。
我已将“extension=imagick.so”添加到我的 php.ini
当我查看我的 phpinfo() imagick 时没有列出,所以我查看了 php_errors_log:
[25-Apr-2014 19:24:11 Europe/Berlin] PHP 警告:PHP 启动:无法加载动态库 '/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts - 20121212/imagick.so' - dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/imagick.so,9):库未加载:/usr/local/lib /libfreetype.6.dylib 引用自:/usr/local/lib/libMagickWand-6.Q16.2.dylib 原因:库版本不兼容:libMagickWand-6.Q16.2.dylib 需要 18.0.0 或更高版本,但 libfreetype.6.dylib 在第 0 行的 Unknown 中提供了 17.0.0 版本
显然 libfreetype.6.dylib 版本不够高,我安装了最新的 XQaurts,至少根据我的操作系统 OS X Mavericks 10.9.2。
我似乎无法在 Internet 上的任何位置找到版本为 18.0.0 的 libfreetype.6.dylib。
我还在自制软件上尝试了一个旧版本 imagemagick-ruby186,该版本我无法在终端中转换 pdf。
在这个线程Incompatible library version: imagick.so requires version 18.0.0 or later, but libfreetype.6.dylib provides version 16.0.0 in Unknown on line 0 中描述了一个类似的问题,但是那个人正在使用 MAMP 并且能够注释掉
/Applications/MAMP/Library/bin/envvars
我似乎无法在 XAMPP 堆栈中找到类似的文件。有谁知道我在哪里可以找到所需版本的 libfreetype.6.dylib 或任何其他解决此问题的方法?
这将不胜感激。我已经与这个问题作斗争了 12 个小时,我很想开始编写我的应用程序而不是尝试安装东西。
希望这个问题可以希望其他有类似问题的人。
最好的问候, 约翰
【问题讨论】:
-
在使用 brew 安装 freetype 时,我在 /usr/local/Cellar/freetype/2.5.3_1/lib 中找到了 18.0.0 freetype.6.dylib 版本。我将该文件复制到 /Applications/XAMPP/xampfiles/lib/ 并将其替换为当前文件。记得备份!之后我的 apache 可以加载 imagick。
-
是的,这是正确的解决方案
-
如果你有解决办法,请关闭这个帖子
-
您应该将您的解决方案作为答案,然后将您的答案标记为选定答案。见Self-Answer 和accept my answer
标签: php macos xampp imagemagick imagick