2014-10-01 36 views
0

我只是試圖從PHP腳本運行可執行文件。似乎很簡單,但它不會爲我工作。我已經試過這兩種方法:執行命令不能在PHP中工作

$oExec = $WshShell->Run("Notepad.exe >> /err.txt"); 

exec("Notepad.exe >> /err.txt"); 

沒有成功。似乎沒有什麼事情發生,我一步一步通過我的代碼,並執行行但notepad不打開。 Err.txt是空的,所以沒有幫助,我無法在任何地方找到錯誤。我會想,如果這是一個權限問題,我會得到一個錯誤消息,除此之外,我不知道什麼問題可以。它似乎找到Notepad.exe好,因爲當我寫Ntpad.exe時,我得到一個錯誤。任何幫助將不勝感激。

腳本從本地IISExpress站點運行。

+0

誰在運行PHP腳本? – 2014-10-01 19:55:19

+0

在我看來,如果服務沒有與桌面進行交互檢查 - 已啓動的應用程序的窗口將不會顯示。 – Cheery 2014-10-01 19:55:59

+0

我不一定需要它顯示,記事本只是用於調試我要運行的實際腳本,如下所示: $ oExec = $ WshShell-> Run(「cmd C:\ path \ ffmpeg -i C: \ path \ video.mov video.mp4「); 它似乎沒有運行,因爲.mp4沒有創建,但是當我從命令行運行相同的腳本時,它可以工作。 – mgrenier 2014-10-01 20:02:52

回答

0

經過多次的挫折之後,我想出了答案,謝謝讓我知道記事本永遠不會出現沒有桌面互動的情況下,我會一直在那裏試圖弄清楚爲什麼它不工作。有幾個問題,我原來的劇本......

$oExec = $WshShell->Run("cmd C:\Test\ffmpeg -i C:\Test\ferrisglennnews.mov video.webm"); 
  1. 雙斜線需要
  2. CMD必須拆除
  3. 沒有一個目錄將輸出在默認cmd目錄裏沒有不要在那裏源文件,所以我一直在尋找在錯誤的地方爲輸出

因此,這是該腳本產生了預期的結果是......

$oExec = $WshShell->Run("C:\\Test\\ffmpeg -i C:\\Test\\ferrisglennnews.mov C:\\Test\\video.webm"); 

感謝那些在論壇期間幫助過,幫助過的人,你們救了這麼多人,讓我們度過了許多時間!