2012-11-26 41 views
1

我爲我的一個客戶端構建了pdf生成器腳本,並且所有功能都正常工作。然後他決定他希望我從PDF創建一個縮略圖圖像以顯示在另一個頁面上,所以我碰到了PHMagick,這似乎是個竅門。將代碼移到不同的服務器後,PHMagick無法工作

以下代碼在我的建築物服務器上工作(iPage - 我認爲它是debian?),但現在我已將它移到他的VPS,它不再有效。 FPDF生成pdf沒有問題,所以它不是權限問題。

代碼:

require("phmagick/phmagick.php"); 
$pdf->Output("pdf.pdf"); 

$p = new phmagick('','pdf.png'); 
$p->debug = true; 
$p->resize(800); 

$p->acquireFrame("pdf.pdf"); 

此代碼返回以下錯誤:

Error executing "convert "pdf.pdf"[0] "pdf.png""
return code: 127
command output :"sh: convert: command not found"

,因爲我從原來的服務器移動它,我沒有改變任何代碼,我只是複製整個網站結束了,那爲什麼PHMagick現在不工作?如何讓它識別插件文件夾中的convert.php?

只是說明:我只使用PHMagick,而不是整個ImageMagick。

回答

2

PHMagic似乎在後臺使用命令行convert命令。

最有可能的是該命令根本沒有安裝在服務器上。

+0

然後我該如何安裝它?我只需要phmagick.php文件,所有我必須在iPage服務器上執行的操作都是即時的。 – David

+0

也許imagemagick軟件包已經安裝在您的系統上?無論如何:首先測試_if_它是否安裝(在命令行上)。如果沒有,您必須安裝它,請查找imagemagick軟件包。這就是提供'convert'命令的原因。注意:因爲您只使用軟件管理系統安裝了一個php文件而不是軟件包,所以不會爲您解決任何依賴關係。 – arkascha

+0

有沒有辦法通過PHP而不是命令行運行轉換命令? – David

1

正如arkascha所說,您需要安裝imagemagick。嘗試使用yum install imagemagick,因爲您正在運行CentOS。

編輯:可以是不同的大寫:ImageMagick的

+0

如何在Plesk中運行終端命令? – David

2

PHMagic使用命令行convertcomposite等...在背景命令。 這些命令僅在您的服務器中安裝了ImageMagick時可用。

在您以前的服務器ImageMagick必須已經安裝。

Ipage有時不會在其VPS服務器上預先安裝ImageMagick。而你可能無法安裝它你自己(通過終端登錄使用... yum install ImageMagick)因爲你會提示輸入root密碼。

爲了確保ImageMagick程序都安裝在服務器回合,在烏拉圭回合的情況下convert命令,
鍵入以下命令在SSH終端...
whereis convert

如果路徑轉換命令沒有顯示,這意味着你需要安裝ImageMagick。

你將不得不打開支持票,並要求他們爲你安裝它

相關問題