Server per PHP-Script starten ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Server per PHP-Script starten ?

Beitrag von Condor »

Hi,

ich habe das folgende Script um einen Gameserver zu starten:

Code: Alles auswählen

<?php
$action=$HTTP_GET_VARS['action'];
$output = shell_exec("./Verzeichnis/wo/die/Startdatei/liegt status");
   //
   //  Server starten
   //
   if ($action=="start")
   {
      $output = shell_exec("./Verzeichnis/wo/die/Startdatei/liegt start");
      sleep (3);
      echo"
         <p><b>$output</b>  <font color='#FF0000'>Server gestartet</font></p>
      ";
   }

      if ($action=="restart")
   {
      $output = shell_exec("./Verzeichnis/wo/die/Startdatei/liegt restart");
      sleep (3);
      echo"
         <p><b>$output</b>  <font color='#FF0000'>Server neugestartet</font></p>
      ";
   }
   
      if ($action=="stop")
   {
      $output = shell_exec("./Verzeichnis/wo/die/Startdatei/liegt stop");
      sleep (3);
      if ($output) {
      echo"
         <p><b>$output</b>  <font color='#FF0000'>Server gestopt</font></p>
      ";
                   }
       else {
            echo "Server nicht gestartet.";
            }
   }


echo "
<p><a href='server-index.php?action=start'>Server Starten</a></p>
<p><a href='server-index.php?action=restart'>Server Neustarten</a></p>
<p><a href='server-index.php?action=stop'>Server Stoppen</a></p>";

?>
Aber der Server wird z.B. nicht gestoppt. Ist die Verzeichniss Angabe falsch ? Als "Owner" der ausführbaren Datei habe ich "wwwrun", muss ich noch was verändern oder beachten ?
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Du musst doch eigentlich nur schaun, was in $output drin steht, dann weißt du in etwa, wo das Problem liegt.
Ansonst kannst du statt system() auch mal passthru probieren um dir die komplette Ausgabe des Startversuchens anzuschaun.
Woher soll ich wissen, ob der Pfad richtig ist, wenn du nur einen Beispielpfad angibst?
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Beitrag von Condor »

Hi,

was soll den an $output falsch sein ? Wenn ich in SSH bin, dann starte ich das Startscript auch mit

Code: Alles auswählen

./srcds start
So stehts doch auch in der Variable $output, oder nicht ? Und was meinst du mit ich solle anstatt System(), passthru benutzen ? Ich benutze System() doch gar nicht :) Die eigentliche Verzeichniss-Angabe wäre dann:

Code: Alles auswählen

$output = shell_exec("./home/server/clan/srcds start");
Bis dann :grin:
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

An $output ist nichts falsch, aber diese Variabe enthält doch die Ausgabe deines shell-Aufrufes.
Also wird dort drin auch die Fehlermeldung oder was auch immer stehen, aus der du dann ableiten kannst, was nicht in Ordnung ist.
Also mach doch einfach am Ende deines Skripts mal ein

Code: Alles auswählen

echo $output;
rein.

Das mit dem system() war ein Fehler meinerseits; du benutzt ja shell_exec().
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Beitrag von Condor »

Hi,

du hast mich nämlich total durcheinander gebracht mit System() etc. Ich hab echo eingebaut, aber es wird gar nichts ausgegeben, kannst ja mal selber versuchen :-)
gnp28
Mitglied
Beiträge: 1
Registriert: 07.08.2005 15:27

Beitrag von gnp28 »

@Condor

funktioniert das Script?

Wenn ja wäre es möglich, das du mir dies zu Verfügung stellst?

MfG
Antworten

Zurück zu „Coding & Technik“