Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] .exe mit PHP ausführen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • winserl
    hat ein Thema erstellt [Erledigt] .exe mit PHP ausführen.

    [Erledigt] .exe mit PHP ausführen

    Guten Tag zusammen!

    Ich programmiere für einen Freund eine Weboberfläche mit der man einen Arma 3 Server starten und stoppen kann!

    Diese beiden Funktionen funktionieren im Prinzip schon.
    Nur beim starten des Arma 3 Servers, also wenn ich auf der Seite auf den Button Server starten klicke, bleibt das PHP Skript hängen, führt aber die EXE Datei aus.
    Somit muss der Browser neugestartet werden, damit man den Server auch wieder stoppen kann.
    PHP-Code:
    <?php 
        
    try{    

            
    system('C:\Users\Administrator\Desktop\"Arma 3 Altis server"\arma3server.exe  -port=2302 "-config=C:\Users\Administrator\Desktop\Arma 3 Altis server\TADST\default\TADST_config.cfg" "-cfg=C:\Users\Administrator\Desktop\Arma 3 Altis server\TADST\default\TADST_basic.cfg" "-profiles=C:\Users\Administrator\Desktop\Arma 3 Altis server\TADST\default" -name=default "-mod=@Arma2NET;@life_server;Arma2NETMySQLPlugin;oth@x_altis-life-rpg_v3-1-2.altis" -nosplash -mod=@life_server;@arma2net; > nul');
            
        }catch(
    exception $e){
        
        }
        
    ?>
    Dieses PHP Skript wird aufgerufen, wenn der Button Server starten gedrückt wird.
    Ich habe Testweise statt dem Pfad zur arma3server.exe mal den Firefox getestet. Dieser wird gestartet und zugleich bleibt das Skript nicht hängen und ich kann die Website weiter normal benutzen.

    Ich würde mich um jede Hilfe freuen! =)

    MFG
    winserl

  • winserl
    antwortet
    So hats bei mir funktioniert.
    PHP-Code:
    $cpr="Die Parameter";
    $configurator="start Pfad ";
    $descriptorspec = array(
           
    => array("pipe""r"),   // stdin
           
    => array("pipe""w"),  // stdout
           
    => array("pipe""w")   // stderr
    );
    $process proc_open($configurator.$cpr$descriptorspec$pipes);
    sleep(1);
    proc_close($process); 
    Hier die Lösung.
    mfg
    winserl

    Einen Kommentar schreiben:


  • winserl
    antwortet
    Ich hab die Funktion so verstanden dass man hier "CMD" Befehle eingeben kann und die dann ausführen. Und ich wollte halt auf das Dummiegerät NUL umleiten weil ich keine Meldung auf der Site haben möchte.

    Ich hab mit dem system() auch schon eine Batchdatei aufgerufen und in der wird halt dann die EXE gestartet, jedoch tritt dann der gleiche Fehler auf.

    Ich werds mal mit dem hier versuchen:
    PHP-Code:
    $WshShell = new COM("WScript.Shell");
    $oExec $WshShell->Run('cmd /C start C:\Users\Administrator\Desktop\"Arma 3 Altis server"\arma3server.exe  -port=2302 "-config=C:\Users\Administrator\Desktop\Arma 3 Altis server\TADST\default\TADST_config.cfg" "-cfg=C:\Users\Administrator\Desktop\Arma 3 Altis server\TADST\default\TADST_basic.cfg" "-profiles=C:\Users\Administrator\Desktop\Arma 3 Altis server\TADST\default" -name=default "-mod=@Arma2NET;@life_server;Arma2NETMySQLPlugin;oth@x_altis-life-rpg_v3-1-2.altis" -nosplash -mod=@life_server;@arma2net; > nul'0false); 
    Vielen Dank für die Antworten!

    Einen Kommentar schreiben:


  • tkausl
    antwortet
    Der Browser bleibt hängen weil system() auf das ende des Programms wartet, was hier niemals passieren wird solange der Arma-Server läuft.

    Edit:
    Zitat von moma Beitrag anzeigen
    bist du dir sicher, dass du nach nul leiten wilsst, nicht null oder so?
    Anscheinend gibt es sowas unter Windows. Windows ist komisch

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    bist du dir sicher, dass du nach nul leiten wilsst, nicht null oder so?
    http://www.somacon.com/p395.php

    Einen Kommentar schreiben:

Lädt...
X