Shellausgabe in PHP widergeben

Bash, Shell, PHP, Python, Perl, CGI
Bonkknogger
Posts: 16
Joined: 2014-04-19 12:39

Shellausgabe in PHP widergeben

Post by Bonkknogger » 2014-06-23 23:05

Hallo, ich habe hier mal ein kleines anliegen.

Ich habe auf meinem Webserver ein Controlpanel für Gameserver drauf. ich habe nun schon mehrfach gesehen, dass einige Anbieter sogar die Shellausgabe / Screenlog vom Screen mit ausgeben. Nun, ich würde dies auch gern machen, allerdings habe ich keinen Ansatz wie ich dies machen soll.

Die Gameserver liegen auf einem anderem Server und das Webinterface arbeitet mit der SSH2 Extension.

vlt kann mir hier einer helfen dieses umzusetzen?

misterunknown
Posts: 2
Joined: 2014-07-10 13:26

Re: Shellausgabe in PHP widergeben

Post by misterunknown » 2014-07-10 13:34

Code: Select all

<?php

$result = shell_exec("ls -la"); // natürlich funktioniert das nur mit Befehlen, die keine manuelle Eingabe erwarten

echo "<pre>".$result."</pre>";

?>

yourdom
Posts: 8
Joined: 2014-10-22 22:11

Re: Shellausgabe in PHP widergeben

Post by yourdom » 2014-10-25 05:22

Mit SSH2 geht das relativ einfach:

Code: Select all

<?
$ssh = ssh2_connect('Deine#ServerIP', 22);
ssh2_auth_password($ssh, 'Dein#Benutzername', 'Dein#Passwort');
$stream = ssh2_exec($ssh, 'Dein#Befehl');
stream_set_blocking($stream, true);
$data = '';
while($buffer = fread($stream, 4096)) {
    $data .= $buffer;
}
fclose($stream);
?>


Die Ausgabe des Servers befindet sich in der Variable $stream jedoch nur 4096 Zeichen lang, musste evtl. ändern