如何使用PHP exec()在后台执行远程SSH命令?

如何使用PHP exec()在后台执行远程SSH命令?,php,bash,ssh,Php,Bash,Ssh,有没有一种简单的方法可以在后台从PHP在远程机器上执行SSH命令而不使用ssh2.*?PHP脚本由来自bash的用户执行(不涉及Apache),因此这不是一个权限问题。我试过这样做: exec("ssh -f -o UnknownHostsFile=/dev/null -o StrictHostKeyChecking=no -i {$keyFile} {$user}@{$ip} {$remoteCommand} 2>&1 >/dev/null </dev/null");

有没有一种简单的方法可以在后台从PHP在远程机器上执行SSH命令而不使用
ssh2.*
?PHP脚本由来自bash的用户执行(不涉及Apache),因此这不是一个权限问题。我试过这样做:

exec("ssh -f -o UnknownHostsFile=/dev/null -o StrictHostKeyChecking=no -i {$keyFile} {$user}@{$ip} {$remoteCommand} 2>&1 >/dev/null </dev/null");

exec(“ssh-f-o UnknownHostsFile=/dev/null-o strichostkeychecking=no-i{$keyFile}{$user}@{$ip}{$remoteCommand}”2>&1>/dev/null&1>/dev/null我认为您在将执行发送到后台的命令末尾缺少了一个&

我不理解bash的问题。您不想让它立即将控制权交还给bash吗?您不想在后台执行吗?如果您不介意详细说明,为什么不呢想使用ssh2?@davidethell是的,我想,但它似乎不起作用。@favoretti我以前用过它,这是我想避免的。你看到了吗?是的,我错过了,但仍然没有用。
exec("ssh -f -o UnknownHostsFile=/dev/null -o StrictHostKeyChecking=no -i /home/data/id_rsa user@192.168.0.19 '/home/user/script.sh ; exit' 2>&1 >/dev/null </dev/null");