Domanda

I'm attempting to run a SSH command from a remote server with PHP's ssh2 library using the ssh2_exec function.

Instead of getting what I want returned back to me from SSH, I get this:

resource(2) of type (stream)

Sometimes the 2 is a 3 if that matters.

Here is the code that I'm attempting to use:

<?php

$connection = ssh2_connect('ssh.example.com', 22);

ssh2_auth_password($connection, 'root', 'password');

if($output = ssh2_exec($connection, 'uptime')) {

    var_dump($output);

}

Working solution:

<?php

$connection = ssh2_connect('ssh.example.com', 22);

ssh2_auth_password($connection, 'root', 'password');

if($output = ssh2_exec($connection, 'uptime')) {

    stream_set_blocking($output, true);

    echo stream_get_contents($output);

}
È stato utile?

Soluzione

Read the documentation:

Return Values

Returns a stream on success or FALSE on failure.

A stream is a file-like object. You can get data from it with stream functions or file handle functions like fread.

E.g.

$string = stream_get_contents($stream);

$line = stream_get_line($stream);

$fivebytes = fread($stream, 5);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top