2011-08-08 5 views
0

ホスト/ ipを画面に表示しようとしています。しかし、それは印刷されています:代わりに "Resource id#2"。私はSSH2_connection()を使用しています。私はドキュメントページを読んで、関数のパラメータがホスト、ポート、メソッドであることを知っています...しかし、fread($ host)を試しても、ホスト/ 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;