2016-08-03 55 views
0

Windows 10剛剛發佈週年紀念更新。現在你可以使用Linux子系統的Ubuntu風格的bash命令。如何從PHP執行Windows10的Bash命令?

問題是:如何從PHP執行Windows10的Bash命令?

我試圖

<?php 
    exec('bash',$out1,$result1); 
    exec('ls -l',$out2,$result2); 
    var_dump($out1); 
    var_dump($result1); 
    var_dump($out2); 
    var_dump($result2); 

它不工作。所有$ out都是空數組,並且兩個$結果都是1. 任何想法?


剛發現我可以直接從子系統運行web服務器。

例如

$ sudo apt-get install apache2 
$ sudo service apache2 start 

然後把所有的網絡內容位於%LOCALAPPDATA%\ Lxss \根文件

子系統的目錄中。在這一點上我可以執行bash腳本,但我想要的。

+0

你試過[了shell_exec()(http://php.net /manual/en/function.shell-exec.php)? – tyb

+0

我做到了。它返回NULL – Earthchie

回答

0

你不能。 Windows上的Ubuntu是作爲Windows內核正下方的不同子系統實現的。因此它與正常的Windows進程分開運行,無法與它們進行交互。 (至少這是我的理解)。但也許你只需要使用C:\Windows\System32\bash.exe作爲命令。