我使用像Fabric(
Python)这样的库来执行远程服务器上的各种任务.当我通过这个库运行任务时,我发现远程服务器的输出.例如,如果任务正在执行服务器上的git pull,我会得到逐行输出.
但是,当我查看各种PHP SSH库和SSH2扩展名时.在一个长的字符串中,似乎只有一种方法可以在命令已经发生之后获取所有的输出.当任务正在运行时,我希望从远程服务器返回输出的输出.这可能吗?在伪码中,这是我正在寻找的:
Server::run('git pull origin master',function($output) { echo $output.PHP_EOL; });
得到这个工作.您可以在循环中使用fgets读取ssh2_exec返回的流.