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');
このままでは、おそらくパスワードの入力を待っていると思われます。
所属していません StackOverflow