Phpseclib подключить сервер MYSQL
-
12-11-2019 - |
Вопрос
Я хочу подключиться к своему удаленному серверу 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');
Это вызывает:
стандартный ввод:это не tty ОШИБКА 1045 (28000):Доступ к пользователю «пользователь»@'Localhost' (используя пароль:НЕТ)
3 - Если я это сделаю echo $ssh->exec('ssh -f -L 3307:localhost:3306 root@xx.xxx.xxx.xxx sleep 60 >> logfile');
Он работает вечно, что приводит к отсутствию ошибок ответа от сервера.
Я выдергиваю волосы.ПОМОЩЬ!!!!!
Решение
Может быть, попробовать это?:
echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql -u username -password=password database');
Вероятно, он ожидает ввода пароля.