2009-12-09 79 views
0

我遇到了问题phpThumb。它在文档中说要充分利用它,请使用ImageMagick/Imagick。phpThumb找不到ImageMagick/Imagick

我已经在服务器上安装了这个(运行Centos 5.1),并且可以运行convert --version并获取正确的信息。我还可以运行which convert返回/usr/bin/convert

然而,phpThumb不能位置convert程序 - 演示的表明:

(需要ImageMagick的,这个服务器正在运行“N/A”,所以它会不工作)

有没有人有任何关于如何解决这个问题的指针?

干杯,
马特

回答

0

你检查的phpinfo(),以确保安装imagick?如果没有,您将需要安装它。

ImageMagick Install Instructions

+0

感谢您的答复 - 是的,ImageMagick安装并通过Apache,并通过PHP在命令行上显示在我的phpinfo()。 Matt – fistameeny 2009-12-11 12:48:07

3

ImageMagick的改变它报告版本的方式,phpThumb不再识别的版本信息。

来源:

版本:6.3.7 ImageMagick的06/04/09 Q16 http://www.imagemagick.org 版权所有:版权所有(C)1999-2008 ImageMagick的工作室LLC

要:

版本:ImageMagick 6.6.2-6 2010-12-02 Q16 http://www.imagemagick.org版权所有: 版权所有(C)1999-2010 ImageMagick的 工作室LLC

现在有破折号的版本!这是一个简单的修复,开放phpthumb.class.php 认准行:

if (eregi('^Version: [^0-9]*([ 0-9\\.\\:Q/]+) (http|file)\:', $versionstring[1], $matches)) { 

只需添加一个破折号“ - ”将q后/,它会工作。新行:

if (eregi('^Version: [^0-9]*([ 0-9\\.\\:Q/-] (http|file)\:', $versionstring[1], $matches)) { 
+1

新行缺少+)(我会自己编辑它,但它不会让我做两个字符的更改)。 – jarnoan 2011-02-24 14:04:35

+0

在我的情况下,我不得不改变这一行,以使其工作:'if(preg_match('#^ Version:ImageMagick [^ 0-9] *([0-9 \\。\\:Q/\\ - ] +)OpenMP(http | file)\:#i',$ versionstring [1],$ matches)){' – Shawn 2013-05-16 16:03:08

+0

如果有人仍然遇到这个问题,我的ImageMagick版本是x64所以正则表达式还需要x,并且我已经将其更改为'^版本:[^ 0-9] *([x 0-9 \\。\\:Q /] +)(http | file)\: ',但最新版本1.7.13已将此问题分类 – foufos 2015-11-11 10:54:02