首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phpseclib - php版本的问题

phpseclib - php版本的问题
EN

Stack Overflow用户
提问于 2015-06-26 16:12:13
回答 1查看 1.1K关注 0票数 0

运行在PHP 5.2.13上可以很好地工作:

每一行输出都显示..。

代码语言:javascript
复制
include('includes/Net/SSH2.php');
$ssh = new Net_SSH2('127.0.0.1');

if (!$ssh->login('root', 'password')) {
    exit('Login Failed');
}

function packet_handler($str)
{
    echo $str;
}

$ssh->exec('ping 127.0.0.1', 'packet_handler');

在PHP5.3.17上运行相同的代码,什么也不返回。

我得用这样的方法

代码语言:javascript
复制
echo $ssh->exec('timeout 5 ping 127.0.0.1');

等它停下来。

知道为什么这个新版本行不通吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-27 16:52:22

尝试使用新的NET_SSH2版本。我使用了composer,您的代码对我很好(我在本地PC上有PHP5.6)。我的步骤是:

1)我创建了新的空文件夹

2) Run composer:

作曲家需要"phpseclib/phpseclib“

这将创建vendor文件夹,NET_SSH2版本= 0.3.9

3)然后我更改了您的源代码(用于composer autoload):

代码语言:javascript
复制
require 'vendor/autoload.php'; 
$ssh = new Net_SSH2('127.0.0.1');

if (!$ssh->login('root', 'password')) {
    exit('Login Failed');
}

function packet_handler($str) {
    echo $str;
}

$ssh->exec('ping 127.0.0.1', 'packet_handler');

一切都很好。我认为您有这个问题,因为您正在使用旧的库版本。您可以尝试使用composer,也可以从GitHub下载新的库版本。

我希望这会有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31077739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档