通过PHP实时获取SSH输出?

10

我曾使用像Fabric(Python)这样的库在远程服务器上执行各种任务。当我通过该库运行任务时,我会在操作发生时从远程服务器获取输出。例如,如果任务在服务器上执行git pull,我将获得它实时逐行输出的内容。

然而,当我查看各种PHP SSH库和SSH2扩展时,似乎只有一种方法可以在命令执行完成后获取所有输出,并以一个长字符串形式呈现。我想要在任务运行时即时地从远程服务器获取输出。这是否可能?以下是我所期望的伪代码:

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

11

已解决。你可以通过循环使用 fgets 读取由 ssh2_exec 返回的流。


如果可以的话,也请更新您的问题。 - Banago

0

每个人都发现它很可靠,但也许值得一试。 - user557846

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接