10

Fabric (Python) などのライブラリを使用して、リモート サーバーでさまざまなタスクを実行しました。このライブラリを介してタスクを実行すると、アクションの実行中にリモート サーバーから出力が得られます。たとえば、タスクがgit pullサーバー上で実行されている場合、それが発生したときにその行ごとの出力を取得します。

ただし、さまざまな PHP SSH ライブラリと SSH2 拡張機能を見ると、. 1 つの長い文字列で、コマンドが既に発生した後にコマンドからのすべての出力を取得する方法しかないようです。タスクの実行中にリモート サーバーから出力が返されるようにしたいと考えています。これは可能ですか?疑似コードでは、これは私が探しているもののようなものです:

Server::run('git pull origin master', function($output)
{
     echo $output.PHP_EOL;
});
4

2 に答える 2

11

これが機能しました。ループ内でssh2_exec使用して返されたストリームを読み取ることができます。fgets

于 2013-05-06T01:28:54.577 に答える