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!!!!!

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top