tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
905
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Benjamin5
    Benjamin5 Benjamin5 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    Berlin
    Beiträge
    88
    Ich Arbeite gerade an einem kleinen PHP Gameserver Webinterface für einen server von mir.
    Nun möchte ich gerne die Option Gameserver Starten / Stopen einbauen. Allerdings habe Ich nicht die Geringste Ahnung wie ich das Machen soll.

    Also die Anwendung heist zum Bsp: Server
    Wenn ich per putty jetzt ./Server eingebe dann startet der Server.
    Wie setze ich das jetzt in PHP um?

    Vielen Dank im Vorraus.
    Geändert von Benjamin5 (13.08.08 um 11:50 Uhr)
     
    Gruss

    Benjamin5

  2. #2
    gromok gromok ist offline Grünschnabel
    Registriert seit
    Mar 2003
    Beiträge
    3
    Hi,

    versuche dich doch an folgenden beiden Funktionen:

    exec($command)
    passthru($command)


    hier noch weiterführende Links:

    http://de2.php.net/manual/de/function.exec.php
    http://de2.php.net/manual/de/function.passthru.php
     
    Die Ernte des Weisen dauert das ganze Jahr.

  3. #3
    Avatar von Benjamin5
    Benjamin5 Benjamin5 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    Berlin
    Beiträge
    88
    Muss Ich nicht noch irgendwie die benutzerdaten angeben wer das ausführen muss oder ist dies unnötig wenn das auf dem selben server liegt das Prog und das script?
    Ok, Theoretisch müsste es also dann so heissen:
    PHP-Code:
    <?php
    $command 
    "127.0.0.1 -u Benutzername -p Passwort html\server\samp022svr";
    exec($command);
    ?>
    Aber wenn Ich jetzt die seite aufrufe die das Commando enthält dann tut sich nichts oder muss ich das Commando direkt als Link nehmen? Wo kann da der Feler drinne sein.

    Vielleicht sollte ich dazu sagen das dies alles auf einem Debian System läuft.
    Geändert von Benjamin5 (13.08.08 um 14:42 Uhr) Grund: Ergänzung nach probe
     
    Gruss

    Benjamin5

  4. #4
    Avatar von Benjamin5
    Benjamin5 Benjamin5 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    Berlin
    Beiträge
    88
    Gibt es den niemanden der mir vielleicht Helfen kann das Ich das zum Laufen bringe? Ich habe auch schon versucht mir mal andere scripte anzuschauen, aber bei denen blickt man ja nicht mehr durch.

    Wäre über Hilfe sehr Dankbar.
     
    Gruss

    Benjamin5

  5. #5
    Avatar von mr_floppy
    mr_floppy mr_floppy ist offline Mitglied Silber
    Registriert seit
    Apr 2008
    Beiträge
    83
    Kann es sein, dass du Safe_Mode ON hast? Dann funktioniert system(), exec(), ... nicht.
     
    MfG

  6. #6
    Avatar von Benjamin5
    Benjamin5 Benjamin5 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    Berlin
    Beiträge
    88
    Sollte aus sein, Ich überprüfe das mal.
     
    Gruss

    Benjamin5

  7. #7
    DeluXe DeluXe ist offline Funkjoker
    Registriert seit
    Jul 2004
    Ort
    Offenburg
    Beiträge
    847
    PHP-Code:
    $command "127.0.0.1 -u Benutzername -p Passwort html\server\samp022svr"
    Was soll das bewirken?
    Da fehlt einer Seits der Befehl an sich - vor der IP muss irgendwas stehen.
    Anderer Seits sind auch die Backslashes verkehrt, Slashes (also "/") wären richtig. Der führende Slash fehlt ausserdem auch noch, da ich nicht glaube dass dein Skript im root-Verzeichnis liegt?!

    Btw.: Du kannst dir auch die Rückgabe des Befehls ausgeben lassen.
    PHP-Code:
    echo exec'pwd' ); 
     

  8. #8
    spikaner spikaner ist offline Quereinsteiger @ php
    Registriert seit
    Feb 2007
    Ort
    München
    Beiträge
    439
    Guck Dir mal die Seite an...

    http://www.gameserveradmin.de/artike...interface.html

    mfg Spikaner

    P.S. landet 100erte von Treffern zu diesen Thema..
     

  9. #9
    Avatar von Benjamin5
    Benjamin5 Benjamin5 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    Berlin
    Beiträge
    88
    So, Ich habe das mal jetzt mit deinem Link Probiert. Allerdings habe Ich auch damit ein kleines Problem. Der Code sieht so aus:
    PHP-Code:
    <?php
    $act 
    $HTTP_GET_VARS['act'];
    $output shell_exec("./anwendung status");

    //  Server starten
    if ($act=="start")
    {
      
    $output shell_exec("./anwendung start");
      
    sleep (3);
      echo
    "<p><b>$output</b>  <font color='#FF0000'>Server gestartet</font></p>";
    }

    //   Server stoppen
    elseif ($act=="stop")
    {
      
    $output shell_exec("./anwendung stop");
      
    sleep (3);
      echo
    "<p><b>$output</b>  <font color='#FF0000'>Server gestoppt</font></p>";
    }
    ?>
    <table border="0" width="80%">
    <tr>
        <td colspan="2"><h2 align="center">Serverstatus</h2></td>
    </tr>
    <tr>
        <td colspan="2" align="center">
            <table border="1">
            <tr>
                <td bgcolor="#666666" align="center"><b><?php echo $output?></td>
            </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td align="center" colspan="2">
        <h2>Script ausführen</h2>
        <p>Hier kann das Serverscript zum starten und stoppen ausgeführt werden.<br />
        Der Server darf auf keinen Fall 2 mal gestartet werden, sonst stürzt er ab.</p>
        </td>
    </tr>
    <tr>
        <td width="50%" align="right"><p><a href="server.php?act=start">Server starten</a> :</td>
        <td width="50%"><a href="server.php?act=stop">Server stoppen</a></td>
    </tr>
    </table>
    So allerdings bekomme Ich da diese Fehlermeldung:
    Code :
    1
    
    Notice: Undefined index: act in /var/www/web3/html/kunden/application/tsbot/default/index.php on line 2
    Ich habe jetzt den SafeMode ausgeschaltet. Woran liegt das jetzt noch?
     
    Gruss

    Benjamin5

  10. #10
    spikaner spikaner ist offline Quereinsteiger @ php
    Registriert seit
    Feb 2007
    Ort
    München
    Beiträge
    439
    Probier mal so.
    PHP-Code:
    <?php
    $act 
    htmlspecialchars($_GET['act']);
    $output shell_exec("./anwendung status");

    //  Server starten
    if ($act=="start")
    {
      
    $output shell_exec("./anwendung start");
      
    sleep (3);
      echo
    "<p><b>$output</b>  <font color='#FF0000'>Server gestartet</font></p>";
    }

    //   Server stoppen
    elseif ($act=="stop")
    {
      
    $output shell_exec("./anwendung stop");
      
    sleep (3);
      echo
    "<p><b>$output</b>  <font color='#FF0000'>Server gestoppt</font></p>";
    }
    ?>
    <table border="0" width="80%">
    <tr>
        <td colspan="2"><h2 align="center">Serverstatus</h2></td>
    </tr>
    <tr>
        <td colspan="2" align="center">
            <table border="1">
            <tr>
                <td bgcolor="#666666" align="center"><b><?php echo $output?></td>
            </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td align="center" colspan="2">
        <h2>Script ausführen</h2>
        <p>Hier kann das Serverscript zum starten und stoppen ausgeführt werden.<br />
        Der Server darf auf keinen Fall 2 mal gestartet werden, sonst stürzt er ab.</p>
        </td>
    </tr>
    <tr>
        <td width="50%" align="right"><p><a href="server.php?act=start">Server starten</a> :</td>
        <td width="50%"><a href="server.php?act=stop">Server stoppen</a></td>
    </tr>
    </table>
    bzw wenn jemand mit nen Linuxroot das mal Testen könnte (hab hier keinen Zugriff auf einen)?

    Edit:
    http://forum.pro-coder.com/topic.php?id=9
    Da gibts nen start stop script... alles ein bischen aufeinander angepasst dürfte es gehen. ,und nicht vergessen der user www braucht die Rechte um das Script, und das Script die Rechte (Benutzerrechte...) die Server starten Stoppen zu dürfen.

    mfg Spikaner
    Geändert von spikaner (15.09.08 um 08:58 Uhr)
     

  11. #11
    Avatar von Benjamin5
    Benjamin5 Benjamin5 ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    Berlin
    Beiträge
    88
    Ok, Ich Danke allen für Ihre Mithilfe.
    Wir haben es jetzt zum Laufen bekommen.
    Vielen Dank
     
    Gruss

    Benjamin5

Ähnliche Themen

  1. WIN32-Anwendungen starten nicht auf anderen Systemen
    Von Mr Apfelkuchen im Forum C/C++
    Antworten: 23
    Letzter Beitrag: 16.04.08, 15:46
  2. Antworten: 4
    Letzter Beitrag: 18.01.08, 16:31
  3. Fullscreen Anwendungen im Fenster Modus starten
    Von zirag im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 16.01.06, 18:34
  4. Anwendungen per Button starten
    Von deluxe-striker im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 22.04.04, 22:02
  5. Anwendungen starten
    Von Apropo im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 02.11.03, 13:07