Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Gameserver Updateverlauf in php anzeigen lassen aber wie?

Hallo alle miteinander,

ich habe mich entschlossen für meine gameserver ein webinterface zu machen wo ich mich dann einloggen kann um die server updaten restarten stop/start zu lassen und den online status anzeigt.
Das ganze klappt auch so weit ganz gut.bis auf das ich gerne den updateverlauf angezeigt bekommen haben möchte auf der hp. Es sollte sich auch selber aktualisieren teste jetzt schon seite einer guten woche und bekomme es leider nicht hin. Ich stelle hir mal das komplette script zum download verfügbar  gameserver interface momentan für CSS, McMyadmin und TS3.

Beim updaten vom css server warten bis die seite fertig geladen wurden wenn man sie schließt wird das update abgebrochen.

Nun wieder zu meinem Problem ich habe es schon ausprobier mit 

Zitat
<?php
$output = shell_exec('sudo /var/www/html/webinterface/sh/css update');
echo "<pre>$output</pre>";
?>
 

aber leider wird erst am ende alles angezeigt was er gemacht hatt :/

thx schonmal für eure hilfe!

Antworten zu Gameserver Updateverlauf in php anzeigen lassen aber wie?:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

 

Zitat
bekomme es leider nicht hin. Ich stelle hir mal das komplette script zum download verfügbar
Aha. Sehr groszügig. Und Du bist der Meinung, dass sich hier jetzt jemand für Dich durch den Code wurstelt und Dir eine Oberfläche bastelt. Aha. Soso.  ::)

Besorge Dir eine Lizenz für eine Webserver-Oberfläche wie Plesk oder Confixx und Du hast was Du haben möchtest.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Nun wieder zu meinem Problem ich habe es schon ausprobier mit 
<?php
$output 
shell_exec(&#39;sudo /var/www/html/webinterface/sh/css update&#39;);
echo "<pre>$output</pre>";
?>


aber leider wird erst am ende alles angezeigt was er gemacht hatt :/
(mit code statt quote kann man Quellcode besser zitieren)

Du erstellst also eine Variable namens $output und sobald sie fertig erstellt ist gibst Du sie mit echo aus. Dem Server bleibt so ja gar nichts anderes übrig als alles auf ein Mal auszugeben.

Du könntest natürlich versuchen, die Variable gar nicht erst zu erstellen, sondern das Ergebnis gleich auszugeben. Aber ich kann Dir nicht versprechen, dass es funktioniert.

<?php
echo"<pre>".shell_exec(&#39;sudo /var/www/html/webinterface/sh/css update&#39;)."</pre>";
?>


wenn das nicht klappt, hilft Dir php alleine wohl nicht weiter. Dann bleibt nur noch, wie PWT schon geschrieben hat, Plesk oder Confixx zu verwenden.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
 Aha. Sehr groszügig. Und Du bist der Meinung, dass sich hier jetzt jemand für Dich durch den Code wurstelt und Dir eine Oberfläche bastelt. Aha. Soso.  ::)

Besorge Dir eine Lizenz für eine Webserver-Oberfläche wie Plesk oder Confixx und Du hast was Du haben möchtest.

nein ich bin nich der meinung das sich jemand durch den Code wurschtelt und mit die Oberfläche bastet. Ich stelle es nur zur ferfügung fals jemand auf der suche nach sowas ist.

(mit code statt quote kann man Quellcode besser zitieren)

Du erstellst also eine Variable namens $output und sobald sie fertig erstellt ist gibst Du sie mit echo aus. Dem Server bleibt so ja gar nichts anderes übrig als alles auf ein Mal auszugeben.

Du könntest natürlich versuchen, die Variable gar nicht erst zu erstellen, sondern das Ergebnis gleich auszugeben. Aber ich kann Dir nicht versprechen, dass es funktioniert.

<?php
echo"<pre>".shell_exec(&#39;sudo /var/www/html/webinterface/sh/css update&#39;)."</pre>";
?>


wenn das nicht klappt, hilft Dir php alleine wohl nicht weiter. Dann bleibt nur noch, wie PWT schon geschrieben hat, Plesk oder Confixx zu verwenden.


Vielen dan schonmal für die schnelle Antwort.
leider wirds mit dem befehl auch erst am ende alles ausgegeben. Habe es nun auch nochmal versucht mit 2 seiten auf der ersten habe ich (functions.php ) <?php
$output 
shell_exec(&#39;sudo /var/www/html/webinterface/sh/css update&#39;);
?>
und auf der zweiten <meta http-equiv="Refresh" content="2">
<?php
include &#39;functions.php&#39;;
{
echo 
"<br><a>Update Verlauf: </a>";
echo 
"<pre>$output</pre>";
}
?>

functionirt auch soweit nur da es ja durch die include ständig ausgeführt wird :/ gibt es noch eine ander möglichkeit von einer php in die andere was zu übertragen?

und so schnell gebe ich nicht auf das ich mir eine lizenz kaufe für eine Webserver-Oberfläche da muss es irgesnswie eine lösung geben eventuell mit java.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

 

Zitat
gibt es noch eine ander möglichkeit von einer php in die andere was zu übertragen?
Die ausgelesenen Serverdaten aus der functions.php in der anzeigendenden Datei per 'echo' "auswerfen".

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Habe es hinbekommen :)

in der functions.php ( wenn der button ausgefürt wird )

shell_exec("sudo /var/www/html/webinterface/sh/css update | tee update.out");
der command tee erstellt mir eine "update.out" datei wie ich sie hir genant habe. Beschreibung zum Linux tee command

Dann habe ich mir noch einen button erstellt der ein popup fenster bringt wo der verlauf angezeigt wird :)

verlauf.php:

<meta http-equiv="Refresh" content="1">
<?php
echo "Update verlauf :";
echo 
"<br>";
$datei "update.out"// Name der Datei
$array file($datei); // Datei in ein Array einlesen
foreach ($array as $element) {
 echo 
$element "<br>"// Dateiinhalt ausgeben
}
?>


dort wird die update.out datie wie beschrieben eingelesen und ausgegeben auf der seite.

Thx trotzdem nochmals für die kleinen hilfestellungen!!!

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Habe es hinbekommen :)

Dann schon mal vielen Dank, dass Du das Ergebnis mit uns teilst. Ich erlebe es leider viel zu oft, dass jemand einfach nur schreibt "habs selber hinbekommen." Was natürlich nicht sehr hilfreich für den nächsten mit dem selben Problem ist.


verlauf.php:

<meta http-equiv="Refresh" content="1">
<?php
echo "Update verlauf :";
echo 
"<br>";
$datei "update.out"// Name der Datei
$array file($datei); // Datei in ein Array einlesen
foreach ($array as $element) {
 echo 
$element "<br>"// Dateiinhalt ausgeben
}
?>


Ich würde es eher so machen:

<meta http-equiv="Refresh" content="1">
<?php
echo "Update verlauf :<br>"// einfach mal ne Zeile sparen
$datei "update.out"// Name der Datei
echo nl2br(file_get_contents($datei)); // Datei einlesen, Zeilenumbruch einfügen und ausgeben
?>



nicht erst ein Array erzeugen und dann jede Zeile einzeln bearbeiten. Du kannst ja, wenn Du willst, das file_get_contents() erst noch ner Variablen zuweisen, um es etwas übersichtlicher zu gestalten, und dann erst mit nl2br() bearbeiten und ausgeben.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Dann schon mal vielen Dank, dass Du das Ergebnis mit uns teilst. Ich erlebe es leider viel zu oft, dass jemand einfach nur schreibt "habs selber hinbekommen." Was natürlich nicht sehr hilfreich für den nächsten mit dem selben Problem ist.

Ich würde es eher so machen:

<meta http-equiv="Refresh" content="1">
<?php
echo "Update verlauf :<br>"// einfach mal ne Zeile sparen
$datei "update.out"// Name der Datei
echo nl2br(file_get_contents($datei)); // Datei einlesen, Zeilenumbruch einfügen und ausgeben
?>



nicht erst ein Array erzeugen und dann jede Zeile einzeln bearbeiten. Du kannst ja, wenn Du willst, das file_get_contents() erst noch ner Variablen zuweisen, um es etwas übersichtlicher zu gestalten, und dann erst mit nl2br() bearbeiten und ausgeben.



Danke für den tip :)

Ja leider wird selten die lösung hingeschrieben :( und sowas ist auch nicht toll weil man immer googelt und dann findet man ein forum wo es schonmal bearbeited wurden ist und kein Ergebnis steht.


Habe das ganze mal hochgeladen fals jemand daran Interesse hat. Es ist auch eine txt hinzugefügt wo erklärt wird wo ungefähr die links zu ändern sind eventuell habe ich was vergessen aber das sollte leicht rauszufinden sein. Es ist momentan für Counter-Strike Source und TeamSpeak 3 aber ganz easy zu erweitern :)
viel spass damit wer es sich downloadet DOWNLOAD

Ach und eines habe ich leider vergessen in die readme.txt zu packen und zwar sollted ihr unter
/etc  in der datei "sudoers"

apache ALL=NOPASSWD:/var/www/html/webinterface/sh/css
apache ALL=NOPASSWD:/var/www/html/webinterface/sh/ts3
nicht vergessen einzutragen ansonsten können die dateien nicht von php ausgeführt werden :)

« Farbänderung des Links beim Überfahren mit der Maus JavaScript PopUp mit Email Funktion »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
CSS
CSS ist die Abkürzung fü Cascading Style Sheets: eine Beschreibungssprache für das World Wide Web. Während die HTML-Angaben auf Webseiten die Struktur...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet einen unkompilierten Programm-Code einer Software. Der Quellcode ist meist in einer der verbreiteten Programmierspra...

Unicode
Ein Unicode ist ein "Einheitsschlüssel", der als internationaler Standard gilt. Unicode ist ein digitaler Zeichensatz zur Darstellung von weitestgehend jedem Schrift...