我正在尝试将主机/ IP打印到屏幕上。但是,它正在打印:“资源ID#2”。我正在使用SSH2_connection()。我阅读了doc页面,知道函数参数是主机,端口,方法......但是当我尝试fread($ host)时,主机/ ip仍然没有打印,有人可以给我一些方向吗?谢谢!
代码:
<?php
if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");
if(!($ssh = ssh2_connect('10.5.32.12', 22))) {
echo "fail: unable to establish connection\n";
} else {
if(!ssh2_auth_password($ssh, 'root', '********')) {
echo "fail: unable to authenticate\n";
} else {
echo "Okay: Logged in ... ";
$content = fread($ssh); //Line in question (want ip address to show here)
echo "$content <br>"; //Line in quesion
$stream = ssh2_exec($ssh, 'find / -name *.log -o -name *.txt');
stream_set_blocking($stream, true);
$data = '';
while($buffer = fread($stream, 4096)) {
$data .= $buffer;
}
fclose($stream);
echo $data; // user
}
}
?>
答案 0 :(得分:0)
我相信在使用双引号时你也需要围绕变量的括号。 "{$content} <br>"
您是否使用自己的调试方法测试$ content变量是否包含信息?您可以为变量设置一个值,以测试您的echo语句是否是正确的语法。
答案 1 :(得分:0)
$content = fread($ssh);
fread()从文件读取并将信息放入资源处理程序以供以后使用。我认为你目前没有以正确的方式使用它。
我没有看到$ ssh在哪里被定义,但我认为它拥有你想要输出的IP?如果是这种情况,只需替换
$content = fread($ssh);
使用:
echo $ssh;