exec后的phpseclib回调

时间:2017-03-08 17:00:50

标签: ssh ffmpeg phpseclib

从我的网站(使用symphony 3.3)我使用 $ ssh-> exec 向其他服务员请求转码视频(使用ffmpeg)。 我工作得很好,但我遇到了问题。

转码操作后,我从第二个服务器信息(使用 $ sft-> get )获取有关ffmpeg生成的日志文件中的转码的信息(在CLI的末尾使用> )并希望在我的网页上看到结果。

问题是:当我打电话给 $ sft->获取来获取信息时,该过程未完成(可能需要几分钟)。 那么网站怎么知道第二台服务器上的流程已经完成了呢? 我尝试 $ ssh-> exec($ cli,'callbak'); 但没有成功(回调工作但是太早了)。

如果有人了解我的问题并知道解决方案,请告诉我! phpseclib是非常好的包我想保留它。 最好的问候

文森特

1 个答案:

答案 0 :(得分:0)

如果你这样做,你可能会取得更大的成功:

$ssh->write("[command]\n");
$ssh->read('[prompt]');

$ssh->get('/path/to/file');

$ssh->read将阻塞,直到它读取stdout中的提示符。即。它会阻止,直到[command]完成执行。