2011-09-25 171 views
0

我想要一個PHP腳本來使shell腳本在遠程服務器上以root身份執行。腳本需要自己執行sudo命令,因此需要以root身份執行。PHP遠程Sudo腳本執行

任何想法?

我試着用PHP ssh登錄並用sudo執行,但速度太慢。

(我有Ubuntu的10.04 & PHP5兩臺服務器上)

+0

可能想嘗試在這裏,如果你沒有得到任何答覆:http://serverfault.com/或HTTP這裏://askubuntu.com/ –

+1

定義「太慢」。一個小時? –

回答

2

SSH不宜慢,除非你運行多個獨立的命令。如果速度很慢,那麼系統處於高負載狀態,或者您有DNS反向問題。您可以嘗試在/etc/ssh/sshd_config中設置UseDNS no並重新啓動sshd(如果這樣會使速度更快),則DNS是問題所在。

該腳本需要執行sudo命令本身,因此它需要以root身份執行。

如果腳本以root身份運行,則不需要使用sudo。

0

我最近發佈了一個項目,允許PHP獲取真實的Bash shell並與之交互。在這裏獲得:https://github.com/merlinthemagic/MTS

下載您只需使用下面的代碼後:

$shell = \MTS\Factories::getDevices()->getLocalHost()->getShell('bash', true); 
$return1 = $shell->exeCmd('yourFirstCommand'); 
$return2 = $shell->exeCmd('yourSecondCommand'); 
//the return will be a string containing the return of the script 
echo $return1; 
echo $return2;