php ssh2_exec没有执行java命令

时间:2016-02-28 09:06:21

标签: java php classpath ssh2-exec

下面的代码无法使用ssh2_exec获取Java版本,我已经尝试了绝对路径/ usr / bin / java,同样的代码正在使用' php --version'什么可以这个问题的可能原因是什么?

已经为/ usr / bin / java

完成了chmod 777
  $connection = ssh2_connect('xx.xx.xx.xx', 22);
  ssh2_auth_password($connection, $username, $password);

  $stream = ssh2_exec($connection, 'java -version;');
  stream_set_blocking($stream, true);
  $tempVar = stream_get_contents($stream);

  echo $tempVar; // nothing printed here 

1 个答案:

答案 0 :(得分:1)

一个问题可能是您正在执行的命令的分号。

$stdout_stream = ssh2_exec($connection, "java -version");

$err_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDERR);

$dio_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDDIO);

stream_set_blocking($err_stream, true);
stream_set_blocking($dio_stream, true);

$result_err = stream_get_contents($err_stream));
$result_dio = stream_get_contents($dio_stream));

检查stderr流以查看它是否返回错误。