Ankündigung

Einklappen
Keine Ankündigung bisher.

Exec() im IIS funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • Exec() im IIS funktioniert nicht

    Hallo,

    habe folgendes Problem:
    PHP-Code:
    <?php
    echo exec('cmd /c echo Exec() funktioniert!');
    ?>
    funktioniert lokal auf dem Server. Per Web innerhalb des IIS aber leider nicht. Im Browser kommt die Fehlermeldung:

    Code:
    Warning: exec() [function.exec]: Unable to fork [cmd /c echo Exec() funktioniert!] in \\servername\web\exec.php on line 2
    Ein Tipp die IUSR-Rechte der cmd.exe anzupassen
    (Warning: exec() [function.exec]: Unable to fork | IIS Aid)
    hat leider nichts gebracht.

    Hat jemand von euch eine Idee?

    Server: Windows 2003 Server, SP2, NTFS
    IIS6, PHP5 (Safe Mode=Off), MySQL5

    Gruss
    jörg


  • #2
    Hmm reicht nicht eigentlich ein

    PHP-Code:
    echo exec('echo Exec() funktioniert!'); 
    ?

    Kommentar


    • #3
      Hallo cycap,

      nein, der Code ist in eine HTML-Seite eingebettet. Diese Datei heisst zwar exec.php aber ohne die Tags <?php und ?> würde der Browser den Code nur einfach anzeigen und nicht ausführen. Es ist zumindest bei mir so.

      Gruss
      jörg

      Kommentar


      • #4
        Zitat von Superfunk2000 Beitrag anzeigen
        Hallo cycap,

        nein, der Code ist in eine HTML-Seite eingebettet. Diese Datei heisst zwar exec.php aber ohne die Tags <?php und ?> würde der Browser den Code nur einfach anzeigen und nicht ausführen. Es ist zumindest bei mir so.

        Gruss
        jörg
        Ja das ist mir auch klar, es ging mir auch ums innere von exec() und nicht um die php-tags

        Kommentar


        • #5
          Oh, sorry!

          schnell ausprobiert und getestet:
          Warning: exec() [function.exec]: Unable to fork [echo Exec() funktioniert!] in \\servername\web\exec.php on line 2

          Funktioniert leider auch nicht.

          Ich habe eher den Verdacht, dass irgendwas mit meiner Serverkonfiguration dies verhindert. Den Vierenscanner habe ich schon überprüft, da sollte nichts mehr sein. In den Logs steht auch nichts was darauf hindeutet. Die Windows-Firewall ist deaktiviert, eine Andere dort zur Zeit nicht aktiv.

          Kommentar


          • #6
            Worum es mir eigebtlich geht ist per Web-Site über das Intranet/Internet ein Programm auf dem (eigenen) Webserver zu starten. Vielleicht gibt es noch andere Möglichkeiten?

            Kommentar


            • #7
              Nun wie wärs damit:

              SELFHTML Forumsarchiv / 2006 / April / IIS Unable to fork

              Kommentar


              • #8
                Moin Rouven,

                »» 1. Copy CMD.EXE file from the Windows\System32\ folder to your PHP directory (c:\PHP\).

                HURRAY LAOLA Welle. Das hat funktioniert.
                Danke
                Ach, das hatte ich auch schon versucht (habe ich vergessen zu erwähnen) Ohne Erfolg...

                Kommentar


                • #9
                  Mit direktem Pfad klapt es auch nicht:

                  Warning: exec() [function.exec]: Unable to fork [C:/php5/cmd.exe /c echo Exec() funktioniert!] in \\servername\web\exec.php on line 2

                  Kommentar


                  • #10
                    Wieso eigentlich

                    \\servername\web\exec.php
                    includest du eine Datei übers Netzwerk? Und kriegst du die gleiche Meldung wenn du statt exec() system() benutzt?

                    Kommentar


                    • #11
                      Übers Netzwerk includen?
                      Das Verzeichnis in dem die "exec.php" liegt ist "E:\web" (als \\servername\web freigegeben) Dort liegen alle Webseiten.
                      Warum Der PHP-Parser den UNC-Pfad in der Fehlermeldung angibt und nicht den Lokalen liegt wahrscheinlich daran, dass ich im IIS-Manager unter Basisverzeichnis das so eingetragen habe, weil ursprünglich ein anderer Server als WebServer diente. Ich stelle jetzt dort mal den direkten, lokalen Pfad ein....
                      Jetzt kommt das:

                      Warning: system() [function.system]: Unable to fork [C:/php5/cmd.exe /c echo Exec() funktioniert!] in E:\Web\exec.php on line 2

                      Kommentar


                      • #12
                        Ich habe den Basisverzeichnispfad im IIS-Manager mal lokal angegeben und statt exec() system() verwendet:

                        Warning: system() [function.system]: Unable to fork [C:/php5/cmd.exe /c echo Exec() funktioniert!] in E:\Web\exec.php on line 2

                        Gleiches Problem...

                        Kommentar


                        • #13
                          bist du sicher das du die cmd.exe in das richtige Verzeichnis kopiert hast? also auch das wo die php.exe drin liegt die auch verwendet wird?

                          Kommentar


                          • #14
                            Ja richtig. Das PHP-Verzeichnis liegt auf C:\php5 und dort hinein habe ich die cmd.exe kopiert und auch die IUSR-Rechte angepasst.

                            Kommentar


                            • #15
                              dann versuch mal die datei direkt aus der konsole auszuführen,

                              also ausführen -> cmd -> C:\php5\php.exe E:\Web\exec.php

                              Kommentar

                              Lädt...
                              X