2014-04-02 96 views
3


我試圖從我的PHP文件運行腳本。當我運行腳本時,它只是打開我的記事本而不是執行文件。
我給了我的文件夾讀寫權限,試圖通過SSH(因爲我與Vagrant合作)和通過cmd運行。但似乎沒有任何工作。我想,我的代碼是正確的,你可以找到波紋管:
從php執行shell腳本在Windows上打開文件(Xampp)

$output = shell_exec(getcwd()."/scripts/row.sh 2>&1"); 

有人誰可以幫我嗎?

+0

我幾乎沒有MS-Windows的使用經驗,但您確定可以在該系統下使用unix典型的'2>&1'嗎?也可能值得探索在系統內部註冊「默認應用程序」以處理「* .sh」文件。 – arkascha

+0

是的,我認爲是。我最後一次檢查'2&1'似乎工作。如果沒有'2>&1',它也會打開一個記事本。我會看看窗口.sh處理程序 – boortmans

+0

'2&1'與Windows(cmd)和linux(* sh) – anishsane

回答

4

這是因爲您的OPEN WITH對於.sh文件設置爲notepad

檢查以下的輸出:

my_prompt> assoc .sh 
.sh=sh_auto_file 
    ^^^^^^^<~~~~~~ Remember this name 

my_prompt> ftype sh_auto_file <~~~~~~~~~~Use it here 
sh_auto_file=%SystemRoot%\system32\NOTEPAD.EXE %1 

您可以更改與關聯:

my_prompt> ftype sh_auto_file=c:\cygwin\bin\bash.exe %1 %* 

(更改bash.exe按您的安裝路徑...)

對於更多細節,運行命令assoc /? & ftype /? on cmd.exe。 (/?是在Linux中-h--help命令典型相當於...)

另外,對於更高級的用戶,請檢查註冊表中HKCR\.sh & HKCR\sh_auto_file。 您可以使用regedit

+0

Thenks一起工作。你讓我走上正軌。仍然試圖讓它工作,但現在我知道在哪裏看! – boortmans