Announcement

Collapse
No announcement yet.

Versuche über PHP auf dem server eine Datei auszuführen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Versuche über PHP auf dem server eine Datei auszuführen

    Versuche über PHP auf dem server eine Datei auszuführen
    Der Befehl wird zwar an den server gesendet
    und der prozess gestartet aber nicht vollständig und beenden über den taskmanager kann man ihn auch nicht, es heißt "Zugriff verweigert".
    Der Prozess ist immer so ca. 1600 byte groß.
    Quelltext:

    &lt;?<br>
    echo("<div class=\"head\">JediKnight 2 Server starten...</div>\n");<br>
    <br>
    $Prog="E:\\jk2server\\GameData\\jk2Ded.exe";<br>
    $P="+set fs_game adminmod";<br>
    $PP="+exec server.cfg";<br>
    $PPP="";<br>
    <br>
    $EX=$Prog." ".$P." ".$PP." ".$PPP;<br>
    if($EX && $doit==1)<br>
    //system("c.bat > /dev/null 2>&1 &");<br>
    //exec($EX." > /dev/null 2>&1 &");<br>
    //Proc_Close (Proc_Open ("./c.bat --foo=1 &", Array (), $foo));<br>
    system("C:\\WINNT\\system32\\cmd.exe /c \"E:\\jk2server\\GameData\\readme.txt\"");<br>
    ?&gt;<br>

  • #2
    wieso hast du am ende der $EX variablen noch ein leerzeichen? weil $EX heisst ja
    'E:\\jk2server\\GameData\\jk2Ded.exe +set fs_game adminmod +exec server.cfg '
    ich kann mir gut vorstellen, das das " " dem prog nen problem macht

    Comment


    • #3
      Testweise habe ich es auch mit Pfaden wie
      "c:\Games\CS\cstrike.exe" versucht,
      mal mit "\", mal mit "\\"

      funkt nicht..

      Comment


      • #4
        Seit wann besitzt Windows ein /dev/null

        Comment


        • #5
          Steht ja auch im Kommentar...

          Hab halt mal alles, was im entferntesten nach
          Lösung ausgesehen hat, probiert
          Hat natürlich nicht funktioniert :-

          Comment


          • #6
            Wir haben noch mal alle Einstellungen durchgesehen, scheint da nicht dran zu liege

            Comment


            • #7
              hier ein zitat aus dem php online manual...

              <zitat>

              On WinXP with Apache2 and PHP 4.3.3 you cannot start a program in background with exec and start. you have to do the following. This function should work on Windows and Unix, too.

              <pre>

              function execInBackground($path, $exe, $args = "") {
              global $conf;

              if (file_exists($path . $exe)) {
              chdir($path);
              if (substr(php_uname(), 0, 7) == "Windows"){
              pclose(popen("start \"bla\" \"" . $exe . "\" " . escapeshellarg($args), "r"));
              } else {
              exec("./" . $exe . " " . escapeshellarg($args) . " > /dev/null &");
              }
              }
              }

              I have this tested in Win XP and SUSE Linux with Apache and PHP 4.3.3.
              </pre>
              </zitat&gt

              Comment


              • #8
                ich danke mal ich hoffe es funktionier

                Comment


                • #9
                  function execInBackground($path, $exe, $args = "") {
                  global $conf; if (file_exists($path . $exe)) {
                  chdir($path);
                  if (substr(php_uname(), 0, 7) == "Windows"){
                  pclose(popen("start \"bla\" \"" . $exe . "\" " . escapeshellarg($args), "r"));
                  } else {
                  exec("./" . $exe . " " . escapeshellarg($args) . " > /dev/null &");
                  }
                  }
                  }

                  Könnte man mir das bitte näher erkläre

                  Comment


                  • #10
                    das ist eigendlich eine formel zum vergleichen von daten, ob sie vorhanden sind oder nicht.... aber frag bitte nicht wozu das gut sein soll o.

                    Comment

                    Working...
                    X