2011-06-30 17 views
1

PHP CLIスクリプトを使用して対話型SSHセッションの記録を整理しようとしています。私が本当に欲しいのは、出力全体が文字列に記録されるteeコマンドのようなものです。対話型SSHセッションからのPHP CLI出力の出力

私は、外部プロセスを動作させるためにほとんどのコマンドを試してみました。 passthrupcntl_execのように動作しますが、出力を文字列や配列に記録させないでください。また、端末に出力を表示せず、STDINからのものも受け付けます。

対話型のsshセッションを使用する方法がある、つまり正常に動作するかどうかは疑問ですが、実際にはPHPで使用するために出力を記録します。

おかげ

+0

によって停止することができない偉大なSSHおよびTelnetレコーダーが含まれています。これまでに試したことのあるコマンドの例を追加できますか? – hakre

答えて

0

なパススルー とpcntl_execしかし、私は、文字列や配列

まあへの出力は、あなたがハックを使用することができます を記録させないように彼らはどちらかのワークOKその文字列を取得します:

ob_start(); 
passthru('Your command here'); 
$result=ob_get_clean(); 

それは悪いですが、あなたのサーバが高負荷でない場合 - それが動作するはずです。

1
<?php 
include('Net/SSH2.php'); 

$ssh = new Net_SSH2('www.domain.tld'); 
if (!$ssh->login('username', 'password')) { 
    exit('Login Failed'); 
} 

echo $ssh->read('[email protected]:~$'); 
$ssh->write("ls -la\n"); 
echo $ssh->read('[email protected]:~$'); 
?> 

あなたはそういうことをすることができます。

0

はObserveITのを使用してみてください、それは私があなたの質問を理解する問題を持っているパワーユーザー