2011-08-08 101 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;