& quot; Ressource id # 5 & quot; возвращается при использовании mysql в ssh2_exec

Я использую ssh2, чтобы сделать запрос MySQL на удаленном сервере.
Вот мои строки:

$connection = ssh2_connect("ip_address", 22);
if (ssh2_auth_pubkey_file($connection, "user", ".ssh/id_rsa.pub", ".ssh/id_rsa"))
{
echo("Ok");
}
else
{
die("KO");
}
$stream = ssh2_exec($connection, "mysql -u root --password=password -D db -e 'SELECT * FROM table'");
echo $stream;

Когда я запускаю свою команду, у меня появляется сообщение «ОК», а переменная $ stream пишет: «Ressource id # 5». Я не знаю, почему она не работает. Я протестировал команду в bash, используя правильно команду ssh:

ssh user@ip_address "command"

И это сработало.
Я жду вашей помощи,
Спасибо,
Cordialement,

-1

Решение

Я думаю, тебе повезет больше phpseclib, чистая реализация PHP SSH. например.

<?php
include('Net/SSH2.php');
include('Crypt/RSA.php');

$ssh = new Net_SSH2("ip_address", 22);
$key = new Crypt_RSA();
$key->loadKey(file_get_contents(".ssh/id_rsa"));
if ($ssh->login('user', $key)) {
echo "Ok";
} else {
die("KO");
}
echo $ssh->exec("mysql -u root --password=password -D db -e 'SELECT * FROM table'");
2

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

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

По вопросам рекламы [email protected]