Web ブラウザーで ssh 出力を表示する方法に取り組んでいます。私が持っているのは、いくつかの grep 引数を指定して tail -f /var/log/syslog を実行する、私が作成したシェル スクリプトです。
次に、このシェル スクリプトを呼び出して、返されたデータをリアルタイムで表示します。私が持っているのは、php関数を呼び出すajaxリクエストです
public function siptrace($num) {
if(is_numeric($num)) {
if($ssh = ssh2_connect('127.0.0.1', 3972)) {
if(ssh2_auth_password($ssh, 'user', 'password')) {
$stream = ssh2_exec($ssh, 'script ');
stream_set_blocking($stream, true);
$data = '';
sleep(1);
while($line = fgets($stream)) {
flush();
echo $line . "<br>";
}
}
}
}
}
ls などの簡単なコマンドを実行して、接続を確認しました。しかし、リアルタイムでデータを grep しようとすると、何も返されません。ajax 呼び出しの読み込みと読み込みが表示されますが、while とシェル構造のためにどちらを実行する必要がありますか?
アヤックス
$(document).ready(function() {
$('#sub').click(function() {
$.ajax({ url: 'load.php?trace='+$('#num').val(), success:function(data){
} });
});
});
私のコードに何か問題があることに気づいている人はいますか?