2014-04-02 66 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