Я хочу подключиться к моему удаленному серверу MySQL через переадресацию портов.К сожалению, у моего хостинг-провайдера на сервере не установлена php_ssh2
, поэтому мне приходится работать с библиотекой phpseclib
.Пока что я могу сделать:
1 - подключиться к серверу, используя Net_SSH2
:
$ssh = new Net_SSH2('xx.xxx.xx.xx');
if (!$ssh->login('user', 'password')) {
exit('Login Failed');
}
Если я сделаю echo $ssh->exec('ls -la');
, он получит список каталогов, сообщающий, что мы успешно подключились.
если я запускаю
2 - echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql');
Это вызывает:
stdin: не является tty ОШИБКА 1045 (28000):Доступ запрещен для пользователя 'user' @ 'localhost' (используя пароль: НЕТ)
3 - если я сделаю echo $ssh->exec('ssh -f -L 3307:localhost:3306 root@xx.xxx.xxx.xxx sleep 60 >> logfile');
, он будет работать вечно, что не приведет к ошибке ответа отсервер.
Я вырываю волосы.ПОМОГИТЕ !!!!!