2012-07-28 59 views
2

我的代碼轉換planets.png到planets.jpgImageMagick的CONVERT.EXE錯誤

<?php 
exec("convert planets.png planets.jpg"); 
?> 

這是不工作只是顯示空白頁。

我已經安裝的ImageMagick因爲它是在示出的phpinfo()View here

是這裏剩餘運行ImageMagick的代碼的任何其它配置。

錯誤消息

[Sat Jul 28 20:16:11 2012] [error] [client 127.0.0.1] PHP 1. {main}() D:\\wamp\\www\\test\\into.php:0 Invalid Parameter - planets.jpg 
+0

檢查日誌。沒有錯誤不工作是不可能的。無論是路徑是錯誤的或寫目標文件夾的權限..或其他東西 – 2012-07-28 15:15:55

+0

我不知道如何檢查日誌 – user1559763 2012-07-28 15:16:28

+0

最有可能是一個路徑問題。當然你在圖像文件所在的目錄中執行代碼?您必須另外指定路徑。 – arkascha 2012-07-28 15:16:38

回答

8

這就是爲什麼有重要的錯誤信息。有了它,我們可以搜索答案。

您無意中運行了名爲convert.exe的Microsoft Windows程序,而不是相同名稱的ImageMagick程序。 Windows convert.exe程序用於將系統啓動盤從MS-DOS「FAT」格式轉換爲NTFS格式。因此,它只能在系統的一生中使用一次。 Source

解決方案

可以

+0

+1非常棒! – 2012-07-28 15:27:35

+0

thx ..但只是一個谷歌搜索,當你知道要尋找什麼。並且錯誤信息非常重要 – 2012-07-28 15:28:42

+0

我很高興聽到這個消息。祝你好運 – 2012-07-28 15:29:51

-3

的ImageMagic擴展PHP已經無關ImageMagics '轉換' 命令。它是單獨的軟件。確定你已經安裝了你的系統上安裝的命令?嘗試在shell中手動使用它。

phpinfo()內部顯示的是ImageMagic擴展。這不會帶來一個「轉換」cli工具,並且必須與您嘗試的方式完全不同。

+1

他似乎已經安裝了它路徑,如他的形象所示。 – 2012-07-28 15:20:04

+0

的確,我對MS Windows一無所知。這兩個軟件包都安裝在這樣的系統中的一個軟件包中?天啊... – arkascha 2012-07-28 15:21:23

3
exec("convert planets.png planets.jpg"); 

這與打開命令提示窗口並執行此操作完全相同。

另外,正如@Elzo指出的,convert.exe是一個內置的可執行文件,因此您需要指定可執行文件的整個路徑。 (我會建議這個,而不是重命名可執行文件)。

exec("\"C:\\Program Files\\..\\convert.exe\" planets.png planets.jpg");