无法使用phpseclib库更改目录

我想使用phpseclib库更改PHP中的目录,但是它不起作用。

$ssh = new Net_SSH2('localhost');
if (!$ssh->login('root','pass')) {
    exit('Failed to connect!');
}
$ssh->exec('cd /home/');
echo $ssh->exec('ls');

为什么这总是只输出根目录文件/文件夹...,而不将目录更改为home?

qe2004 回答:无法使用phpseclib库更改目录

如果您read the documentation指出:

  

如果在交互式shell上完成,则第一个密码的输出(取决于系统的设置)将与第二个密码的输出不同。但是,以上代码段将产生两条相同的行。

     

这样做的原因是,一旦exec()运行并且通道已删除,您对一次性shell所做的任何“状态更改”都将消失。

     

您可以在Linux上通过执行$ ssh-> exec('cd /; pwd')

来解决此问题。

因此,您需要将两个命令放在同一exec中:

$ssh->exec('cd /home/; ls');
本文链接:https://www.f2er.com/3109685.html

大家都在问