我试图运行kubectl virt命令,通过PHP管理我的虚拟机.首先,我使用phpseclib登录到我的服务器,代码如下:
$ssh = new SSH2('localhost');
if (!$ssh->login('root', 'rootPassword')) {
throw new \Exception('Login failed');
}
这部分工作正常,当我try 运行$ssh->exec('whoami && echo $PATH')
时,我得到以下输出:
root
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
但是,每当我try 通过PHP运行kubectl virt
时,我都会得到以下输出:
error: unknown command "virt" for "kubectl"
当我通过终端运行kubectl
和kubectl virt
时,它们工作得非常好,但不知何故,它们不能与PHP exec()一起工作.我还试着判断$PATH
via终端,得到了不同的输出:
/root/.krew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
我认为这可能是因为$PATH
,但有趣的是,当我试图通过终端运行sudo kubectl virt
时,我也会得到相同的错误:
error: unknown command "virt" for "kubectl"
在这一点上,我完全迷路了,甚至不知道到哪里go 找问题.我感谢所有的答案.