【发布时间】:2015-06-26 13:56:45
【问题描述】:
我正在使用 SSH2 示例中的这段代码:
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
function packet_handler($str)
{
echo $str;
}
$ssh->exec('ping 127.0.0.1', 'packet_handler');
?>
这很好,但我想在 xx 秒后退出流。
所以我修改如下:
<?php
include('Net/SSH2.php');
$st = time();
$dur = 10;
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
function packet_handler($str)
{
global $st, $dur, $ssh;
echo $str;
$now = ceil(time() - $st);
if ($now >= $dur) { $ssh->disconnect(); unset($ssh); }
}
$ssh->exec('ping 127.0.0.1', 'packet_handler');
?>
这工作并退出数据包处理程序,但我收到以下通知:
注意:在 SSH2.php 第 2676 行的连接过早关闭
注意:SSH2.php 2959 行中的服务器关闭连接
谁能告诉我如何在没有通知消息的情况下关闭此连接?
【问题讨论】: