2011-08-08 102 views
0

我试图将主机/ IP打印到屏幕上。但是,它正在打印:“资源ID#2”。我正在使用SSH2_connection()。我阅读文档页面,并知道功能参数是主机,端口,方法...但是当我尝试fread($主机),主机/ IP仍然不打印有人可以给我一些方向吗?谢谢!当我在PHP中使用echo时,变量不会打印到屏幕上

代码:

<?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

我相信你使用双引号,当需要围绕variabls括号为好。 "{$content} <br>"

您是否使用自己的调试方法测试了$ content变量是否包含信息?您可以为变量设置一个值以测试echo语句是否是正确的语法。

0
$content = fread($ssh); 

fread()从文件中读取并将信息放入资源处理程序中以供稍后使用。我不认为你目前正以正确的方式使用这个。

我没有看到$ ssh被定义在哪里,但我认为它拥有你想要输出的IP?如果是这样的情况下,只需更换

$content = fread($ssh); 

有了:

echo $ssh;