我想知道是否有办法让php页面发送SSH命令并立即断开连接?像屏幕一样,它在断开连接后继续运行?
这可能吗?我的朋友已经做到了,但不会告诉我怎么......他说套接字......?
答案 0 :(得分:0)
你可以使用屏幕,但我会建议nohup。如果您使用公钥/私钥登录而不是密码,并且没有safe_mode限制,那么您可以执行以下操作:
<?php exec("ssh <User>@<Host> 'nohup ls > test.txt &'"); ?>
或者使用PHP ssh2模块
<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$stream = ssh2_exec($connection, 'nohup ls > test.txt &');
?>
nohup和&amp;角色仍然会立即断开你。
答案 1 :(得分:0)
重写freeduck使用phpseclib, a pure PHP SSH implementation的答案......
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
echo $ssh->exec('nohup lus > test.txt &');
?>