想用php來執行外部程式,現在在瀏覽器方式執行的話無效,查了一下說是要給cmd.exe添加internet許可權,怎麼添加呢?
問題修改一:
index.php
$dir = 'E:\test';$output=array();$command = "svn update ".$dir;//print_r($command);exec($command,$output);for ($i=0;$i < count($output);$i++) { print $output[$i]."\n";flush();}
在windows下部署,然後瀏覽器裡執行,無效
問題修改二:
進一步測試,發現如果全是在原生話(本機訪問)沒有問題,但如果我在其它電腦上訪問這台電腦上的這個頁面就無效了!
回複內容:
想用php來執行外部程式,現在在瀏覽器方式執行的話無效,查了一下說是要給cmd.exe添加internet許可權,怎麼添加呢?
問題修改一:
index.php
$dir = 'E:\test';$output=array();$command = "svn update ".$dir;//print_r($command);exec($command,$output);for ($i=0;$i < count($output);$i++) { print $output[$i]."\n";flush();}
在windows下部署,然後瀏覽器裡執行,無效
問題修改二:
進一步測試,發現如果全是在原生話(本機訪問)沒有問題,但如果我在其它電腦上訪問這台電腦上的這個頁面就無效了!
您的意思是,使用者訪問伺服器上的頁面,實現在伺服器端執行cmd的目的是把?
如果是這樣的話,你確實需要給cmd.exe添加可執行許可權。
首先你要確定你的apache跑在什麼使用者下,這裡先假設你的apache是由apacherunner這個使用者啟動的。
你要在系統硬碟Windows\System32目錄下找到cmd.exe 右鍵點擊--》屬性--》安全--》編輯--》添加 輸入apacherunner --》確定;
在使用者列表中選擇剛剛添加的apache的啟動使用者,在下邊的許可權框裡找到“讀取和執行”在允許前打勾並確定。這樣許可權就加好了。
警告:您這樣的做法會帶來伺服器的安全隱患,請不要在生產環境內使用這種方法。如需遠端控制伺服器請使用遠端桌面等專業介面。