ポート転送を介してリモートの 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 エラー 1045 (28000): ユーザー 'user'@'localhost' のアクセスが拒否されました (パスワードを使用: NO)
3 - もしそうならecho $ssh->exec('ssh -f -L 3307:localhost:3306 root@xx.xxx.xxx.xxx sleep 60 >> logfile');
永久に実行され、サーバーからの応答エラーが発生しません。
髪を引っ張っています。ヘルプ!!!!!