【问题标题】:xampp can't load imagick - incompatible library versionsxampp 无法加载 imagick - 库版本不兼容
【发布时间】: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-Answeraccept my answer

标签: php macos xampp imagemagick imagick


【解决方案1】:

我认为您可以通过 PHP 方式运行它,这是我回答的另一个类似问题: https://stackoverflow.com/a/60788110/4314240

以下详细信息为您回顾:

查看关于macosx的下载

http://www.imagemagick.org/script/download.php#macosx

由于我是同一位 Mac 开发人员,因此您可以按照以下步骤操作。

要安装 imagemagick:

brew install imagemagick

成功:

?  /usr/local/Cellar/imagemagick/7.0.10-0: 1,487 files, 24.3MB

安装ghostscript:

brew install ghostscript

成功:

?  /usr/local/Cellar/ghostscript/9.51_1: 671 files, 87.4MB

找到魔法:

which magick

然后:

/usr/local/bin/magick

尝试运行它来测试图像然后你会发现它可以工作:

magick origin.jpg converted.png

那么让我们通过 PHP 的方式来做吧

新建一个php文件:

sudo touch magick.php

输入我们将使用'exec'函数运行magick程序的代码:

<?php 
shell_exec('magick origin.jpg converted_php.png');
?> 

之后我们运行它:

sudo /Applications/XAMPP/xamppfiles/bin/php magick.php

太好了,我们可以看到有一个图片文件converted_php.png!!

【讨论】:

    猜你喜欢
    • 2016-05-08
    • 2017-01-29
    • 2023-03-18
    • 2021-05-02
    • 2016-10-12
    • 2020-04-16
    • 2018-05-20
    • 2016-09-18
    相关资源
    最近更新 更多