PHP远程Sudo脚本执行

时间:2011-09-25 09:47:11

标签: php shell ubuntu ssh

我想要一个PHP脚本使shell脚本以root用户身份在远程服务器上执行。脚本需要自己执行sudo命令,因此需要以root身份执行。

任何想法?

我尝试过使用PHP ssh登录并使用sudo执行,但速度太慢了。

(两台服务器上都有Ubuntu 10.04& PHP5)

2 个答案:

答案 0 :(得分:2)

除非你运行许多单独的命令,否则SSH不应该慢。如果它很慢,系统处于高负载或您有反向DNS问题。您可以尝试在UseDNS no中设置/etc/ssh/sshd_config并重新启动sshd,如果这样可以加快DNS问题。

  

脚本需要自己执行sudo命令,因此需要以root身份执行。

如果脚本以root身份运行,则不需要使用sudo。

答案 1 :(得分: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;