PHP shell_exec不适用于某些命令吗?

时间:2017-10-19 13:40:48

标签: php shell

如果我执行以下命令,我会得到一个'嘿'输出:

echo shell_exec("echo 'hey'");

但如果我执行以下命令,它将不会杀死任何screen

echo shell_exec("killall screen");

或者如果我这样做

echo shell_exec("sh /var/www/html/run.sh");

它根本不会运行该文件 (该文件也会杀死屏幕)

如果我甚至用get内容获取该文件,它会成功读取其中的内容。

如果它可以执行echo那么错了吗?

1 个答案:

答案 0 :(得分:0)

要运行如此强大的命令,我必须使用this library中所述的this question。这允许我以root访问权限登录SSH并执行任何命令!

function ssh_script($script, $ip, $user, $pass) {
            $ssh = new Net_SSH2($ip);
    if (!$ssh->login($user, $pass)) {
        exit('Login Failed');
    }

    if ($ssh !== false) {
        echo $ssh->exec("sh " . $script);
    }
    else {
        echo "fail";
    }
}