PHPseclib verbindet den MYSQL-Server
-
12-11-2019 - |
Frage
Ich möchte über Portweiterleitung eine Verbindung zu meinem Remote-MySQL-Server herstellen.Leider hat mein Hosting-Anbieter keine php_ssh2
auf dem Server installiert, also muss ich es durcharbeiten phpseclib
Bibliothek.Bisher kann ich Folgendes tun:
1 - Stellen Sie eine Verbindung zum Server her Net_SSH2
:
$ssh = new Net_SSH2('xx.xxx.xx.xx');
if (!$ssh->login('user', 'password')) {
exit('Login Failed');
}
Wenn ich mache echo $ssh->exec('ls -la');
, ruft es eine Verzeichnisliste ab und teilt mit, dass die Verbindung erfolgreich hergestellt wurde.
wenn ich renne
2 - echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql');
Es löst aus:
stdin:ist kein tty FEHLER 1045 (28000):Zugriff auf den Benutzer "Benutzer"@'localhost' (mit Kennwort:NEIN)
3 - Wenn ja echo $ssh->exec('ssh -f -L 3307:localhost:3306 root@xx.xxx.xxx.xxx sleep 60 >> logfile');
Es läuft ewig und führt zu keinem Antwortfehler vom Server.
Ich reiße mir die Haare aus.HELFEN!!!!!
Lösung
Vielleicht versuchen Sie das?:
echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql -u username -password=password database');
So wie es ist, wartet es wahrscheinlich auf die Eingabe eines Passworts.