phpseclib 即使在简单的命令上也不返回任何结果

标签 php linux ssh phpseclib

我想通过 php 添加 ssh 用户。所以我试试 phpseclib。不幸的是,该脚本不会返回任何用户创建的结果。然后我尝试做一个简单的命令 ls -la。仍然没有结果,只是加载了几秒钟并返回一个空白页面。

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');  
include('Net/SSH2.php');

$ssh = new Net_SSH2('xxx.xxx.xxx.xxx'); 
if (!$ssh->login('root', 'abc123')) { 
 exit('Login Failed'); 
 echo $ssh->exec('ls -la');
}

我在 Centos 6.5 上使用 PHP 5.3.3

附言: 我检查了 apache 日志和/var/log/messages.. 没有错误。

最佳答案

exit() 命令将终止其后的后续代码。你可能想要:

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');  
include('Net/SSH2.php');

$ssh = new Net_SSH2('xxx.xxx.xxx.xxx'); 
if (!$ssh->login('root', 'abc123')) { 
 exit('Login Failed'); 
}
echo $ssh->exec('ls -la');

关于phpseclib 即使在简单的命令上也不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27356810/

相关文章:

linux - 无法连接到 vscode 服务器,scp : No such file or directory

linux - Bash poweroff 脚本挂起系统

javascript - 来自本地文件的 jQuery ajax 请求(Origin 'null' 不允许访问)

php - 类方法或全局函数

javascript - 使用twig重构ajax

javascript - 每次提交表单时ajax调用次数都会增加

linux - OpenCV FPS 优化

linux - 当我启动 bash 脚本时,如何找到 Ubuntu 中的所有用户并通过参数显示用户信息?

linux - 如何在 Linux 中安全使用 wxsqlite3?

python - 使用Paramiko实现跳转主机(端口转发)时涉及的主机/IP地址和端口的说明