簡體   English   中英

無法使用 phpseclib 庫更改目錄

[英]Can't change directory using phpseclib library

我想使用 phpseclib 庫更改 PHP 中的目錄,但它不起作用。

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

為什么這總是 output 僅根目錄文件/文件夾......並且不將目錄更改為主目錄?

如果您閱讀文檔,它會指出:

如果在交互式 shell 上完成,那么您收到的第一個密碼 output 將(取決於您的系統設置方式)與第二個密碼的 Z78E6221F6393D1356681DB398F14CE6 不同。 然而,上面的代碼片段將產生兩行相同的行。

這樣做的原因是,一旦運行 exec() 並刪除了通道,您對一次性 shell 所做的任何“狀態更改”都會消失。

您可以通過 $ssh->exec('cd /; pwd') 在 Linux 上解決此問題

因此,您需要將兩個命令放在同一個 exec 中:

$ssh->exec('cd /home/; ls');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM