我曾使用像Fabric(Python)这样的库在远程服务器上执行各种任务。当我通过该库运行任务时,我会在操作发生时从远程服务器获取输出。例如,如果任务在服务器上执行git pull
,我将获得它实时逐行输出的内容。
然而,当我查看各种PHP SSH库和SSH2扩展时,似乎只有一种方法可以在命令执行完成后获取所有输出,并以一个长字符串形式呈现。我想要在任务运行时即时地从远程服务器获取输出。这是否可能?以下是我所期望的伪代码:
Server::run('git pull origin master', function($output)
{
echo $output.PHP_EOL;
});