php ssh2_exec не выполняет команду Java

Приведенный ниже код не может получить версию Java с использованием ssh2_exec, я также пробовал абсолютный путь / usr / bin / java, этот же код работает с php -version, что может быть причиной этой проблемы?

Уже сделано chmod 777 для / usr / bin / java

  $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

0

Решение

Одной из проблем может быть точка с запятой в команде, которую вы выполняете.

$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, чтобы увидеть, возвращает ли он ошибку.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector