2012-04-01 15 views
1

Hallo Ich versuche, Phpseclib zu verwenden, um meine dedizierten Server und fügen Sie dann auf den Bildschirm Prozess und dann Ausführen von Befehlen innerhalb des Bildschirms Prozess und geben das Ergebnis,phpseclib ssh Bildschirm Prozess exec Befehle Echoantwort anhängen

zu verbinden Ich kann PHP bekommen, um sich mit dem Server zu verbinden, und ich denke, dass ich wieder an den Bildschirmprozess anschließe, aber der Befehl, den ich versuche zurückzugeben, gibt nur "1" statt, was ich erwartet habe.

Wenn jemand vielleicht etwas Licht auf mein Problem werfen könnte, würde ich es schätzen.

Auch einige weitere Informationen der Grund, den ich so anschließe, ist, weil es ein SRCDS Server ist, mit dem ich mich verbinde und ich könnte ein PHP-Skript verwenden, um den srcds Spielserver abzufragen, aber es funktioniert nicht, weil ich auf geteiltem Webhosting bin blockiert die Ports, zu denen ich eine Verbindung herstellen muss.

Antwort

0

Sie müssen wahrscheinlich $ ssh-> schreiben ("screen -r server1 \ n") anstelle von $ ssh-> exec ('screen -r server1');

Das Problem mit exec() ist, dass es immer Befehle auf einem neuen Kanal ausführt. Dies ist kein Problem mit phpseclib, sondern mit dem SSH-Protokoll. Es ist, als ob man "screen -r server1" über Putty macht, Putty schließt, Putty wieder öffnet, "Status" macht und erwartet, dass es ausgibt, was man möchte. Es wird nicht.