从我的网站(使用symphony 3.3)我使用 $ ssh-> exec 向其他服务员请求转码视频(使用ffmpeg)。 我工作得很好,但我遇到了问题。
转码操作后,我从第二个服务器信息(使用 $ sft-> get )获取有关ffmpeg生成的日志文件中的转码的信息(在CLI的末尾使用> )并希望在我的网页上看到结果。
问题是:当我打电话给 $ sft->获取来获取信息时,该过程未完成(可能需要几分钟)。 那么网站怎么知道第二台服务器上的流程已经完成了呢? 我尝试 $ ssh-> exec($ cli,'callbak'); 但没有成功(回调工作但是太早了)。
如果有人了解我的问题并知道解决方案,请告诉我! phpseclib是非常好的包我想保留它。 最好的问候
文森特
答案 0 :(得分:0)
如果你这样做,你可能会取得更大的成功:
$ssh->write("[command]\n");
$ssh->read('[prompt]');
$ssh->get('/path/to/file');
$ssh->read
将阻塞,直到它读取stdout中的提示符。即。它会阻止,直到[command]
完成执行。