我想通过端口转发连接到我的远程 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: is not a tty ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: NO)
3 - 如果我这样做echo $ssh->exec('ssh -f -L 3307:localhost:3306 root@xx.xxx.xxx.xxx sleep 60 >> logfile');
它永远运行,导致服务器没有响应错误。
我正在拔头发。帮助!!!!!