如何获取PHP ssh2_exec命令的退出状态?

unhi4e5o  于 2023-09-29  发布在  PHP
关注(0)|答案(2)|浏览(136)

我想得到ssh2_exec命令的退出状态。我尝试了下面的代码,但它给了我jar文件的输出,但我只想要成功或失败的状态。我如何才能得到,请帮助。

$stream = ssh2_exec($connection, 'path of jar file');
stream_set_blocking($stream,true);
$output = ssh2_fetch_stream($stream,SSH2_STREAM_STDIO);
echo stream_get_contents($output);
wztqucjr

wztqucjr1#

你应该使用stderr:
$output = ssh2_fetch_stream($stream,SSH2_STREAM_STDERR);
如果没有错误,那就是成功。

6g8kf2rb

6g8kf2rb2#

从SSH2 PHP扩展的0.13版本开始,您可以使用stream_get_meta_data()来检索退出状态。
用你的例子的代码:

$metadata = stream_get_meta_data($stream);
$exitCode = $metadata['exit_status'];

相关问题