从php执行shell脚本将在Windows上打开文件(Xampp)
从php执行shell脚本将在Windows上打开文件(Xampp),php,bash,shell,laravel,xampp,Php,Bash,Shell,Laravel,Xampp,我正在尝试从我的PHP文件运行脚本。当我运行脚本时,它只是打开我的记事本,而不是执行文件。 我已授予文件夹读写权限,尝试通过SSH(因为我使用Vagrant)和cmd运行。但似乎什么都不管用。我认为我的代码是正确的,您可以在下面找到: $output = shell_exec(getcwd()."/scripts/row.sh 2>&1"); 有人能帮我吗?这是因为您的用打开.sh文件设置为记事本 检查以下输出: my_prompt> assoc .sh .sh=sh_au
我正在尝试从我的PHP文件运行脚本。当我运行脚本时,它只是打开我的记事本,而不是执行文件。
我已授予文件夹读写权限,尝试通过SSH(因为我使用Vagrant)和cmd运行。但似乎什么都不管用。我认为我的代码是正确的,您可以在下面找到:
$output = shell_exec(getcwd()."/scripts/row.sh 2>&1");
有人能帮我吗?这是因为您的
用打开.sh
文件设置为记事本
检查以下输出:
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
(根据您的设置更改bash.exe的路径…)
有关详细信息,请在cmd.exe
上运行命令assoc/?
和ftype/?
。(/?
是Linux命令中-h
或-help
的典型等价物…)
此外,对于更高级的用户,请在注册表中查看HKCR\.sh
和HKCR\sh_auto_文件
。
您可以使用regedit
。我几乎没有使用MS Windows的经验,但是您确定可以在该系统下使用unix典型的2>&1
?也可能值得探索在系统中注册了什么“默认应用程序”来处理“*.sh”文件。是的,我认为是这样。上次我检查时,2>&1
似乎工作正常。如果没有2>&1
,它也会打开一个记事本。我将看一看windows.sh处理程序2>&1
在windows(cmd)和linux(*sh)下工作。你让我走对了路。还在努力让它工作,但现在我知道该去哪里找了!
my_prompt> ftype sh_auto_file=c:\cygwin\bin\bash.exe %1 %*