2009-12-09 77 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