从php执行shell脚本在Windows上打开文件(Xampp)

时间:2014-04-02 12:47:09

标签: php bash shell laravel xampp


我试图从我的PHP文件中运行脚本。当我运行脚本时,它只是打开我的记事本而不是执行文件 我已经给了我的文件夹读写权限,试图通过SSH(因为我使用Vagrant)和通过cmd运行。但似乎没有任何效果。我认为我的代码是正确的,你可以在下面找到:

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

有人可以帮助我吗?

1 个答案:

答案 0 :(得分: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 /?&amp; ftype /?上的cmd.exe。 (/?在Linux命令中通常等同于-h--help ...)

此外,对于更高级的用户,请检查HKCR\.sh&amp;的注册表。 HKCR\sh_auto_file。 您可以使用regedit