2012-01-20 49 views
1

imagemagick轉換不能通過php shell_exec工作,但通過一個shell。imagemagick轉換不能通過php

在殼convert file.pdf file.png工作正常。但是,當我在一個PHP文件中有這樣的shell_exec('convert file.pdf file.png');然後我得不到輸出!我有權這樣做,所以我認爲這不是問題所在;我通過getcwd()檢查了我所在的目錄,這也是可以的。

我知道shell_exec的工作原理,因爲我之前在代碼中使用它,並且工作正常。

任何想法?

+0

我已經玩了一段時間了,發現了一些東西:在shell上執行whoami返回geoff,但是通過php whoami返回任何人。也許這與我的問題有關? – Geoff

回答

6

我的solution感謝從另一個線程得crontab的。我從那裏報價:

[I] F你正在試圖將PDF轉換爲使用ImageMagick一個PNG ... 即使使用的完整路徑ImageMagick的convert如果 腳本的路徑沒有按行不通也不包含Ghostscript的路徑位置。 沒有與任何用戶的路徑搞亂,你可以添加:

putenv("PATH=/usr/local/bin:/usr/bin:/bin"); 

或者類似您的設置取決於一些東西。 gs可執行文件有 將在您的腳本用戶的路徑中,或者ImageMagick將無法將 轉換爲PDF或EPS文件。

+0

非常好。在找到之前嘗試了大約20種不同的方式。 –

0

嘗試完整路徑到convert,即shell_exec('/usr/bin/convert file.pdf file.png);。您可以使用which convert來查找系統上的位置。

+0

我試過了,但還是沒有創建png文件。 – Geoff

+0

嘗試使用源文件和目標文件的完整路徑。 – ceejayoz

+0

我試過了,失敗了! – Geoff

相關問題