开发者

Variable is not printing to the screen when I use echo in PHP

I'm trying to print the host/ip to the screen. But, it's printing: "Resource id #2" instead. I'm using SSH2_connection(). I read the doc page and know the the function parameters are host, port, methods ... but when I try fread($host), the host/ip is still not printing can someone give me some direction on this? Thanks!

Code:

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


I believe you need the parenthesis around the variabls as well when using double quotes. "{$content} <br>"

Have you tested with your own debug methods whether the $content variable contains information? You can set a value for the variable to test whether your echo statement is correct syntax.


 $content = fread($ssh);

fread() reads from a file and puts the info into a resource handler for use later. I don't think you are using this in the right way currently.

I don't see where $ssh is being defined, but I assume it holds the IP you are wanting to output? If that is the case, just replace

$content = fread($ssh);

With:

echo $ssh;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜