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);
}
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);