Я пытаюсь получить поток данных, поступающий из ssh-соединения. Когда я использую putty для входа по ssh, я просто начинаю получать данные на экране, никаких команд не требуется.
Теперь я пытаюсь сделать то же самое, но в php, чтобы манипулировать данными и сохранять их в базе данных. Для этой задачи я уже установил необходимый пакет для ssh2 и смог получить соединение. Но я не знаю, как получить эти данные. Моя общая цель состоит в том, чтобы этот скрипт работал как демон и постоянно извлекал информацию для сохранения.
Я пытался использовать ssh2_shell и использовать возвращаемый ресурс потока с помощью stream_get_contents, но он возвращает false.
$stdio_stream = ssh2_shell($connection);
$contents = get_resource_type ($stdio_stream);
echo $contents;
$contents = stream_get_contents ($stdio_stream);
if ($contents) {
print_r($contents);
} else {
echo 'it failed';
}
И я пробовал это в соответствии с примечаниями пользователя.
$stdout_stream = ssh2_exec($connection, "/bin/ls -la /tmp");
$dio_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDIO);
$result_dio = stream_get_contents($dio_stream);