Alexander: XP + Apache + Perl...brauche Hilfe !!!

Moin,

habe Apache Server unter Windows XP installiert und dann Perl dazu.
Jetzt wollte ich ein Testperlscript ausführen, da erscheint folgende Fehlermeldung:

500 Internal Server Error

error.log:
[Thu Feb 28 21:31:40 2002] [error] [client 127.0.0.1] couldn't spawn child process: c:/apache/apache/cgi-bin/first.pl

access.log:
127.0.0.1 - - [28/Feb/2002:21:31:40 +0100] "GET /cgi-bin/first.pl HTTP/1.1" 500 608

Apache Version 1.3 - Complete Installation - Verzeichnis C:\Apache
Perl Version 5.6.1.626 - Standard Installation - Verzeichnis C:\Perl

PerlScript:
#!c:/perl/bin/
print "Content-type: text/html\r\n\r\n";
print "Hello, World.";

In der Apache Hilfe steht etwas von Zugriffsrechten mittels chmod setzen. Wie mache ich das denn unter Windows XP? Kann das der Fehler sein oder was ist da falsch ?

Bin dankbar für jede Hilfe !!!!!!

  1. Hi,

    #!c:/perl/bin/

    ich halte das für keinen korrekten Pfad zu Deinem Perl-Interpreter-Programm (dessen Name dürfte auf Deiner Plattform wahrscheinlich mit "exe" enden).

    Viele Grüße
          Michael

    1. Hallo,

      #!c:/perl/bin/

      ich halte das für keinen korrekten Pfad zu Deinem Perl-Interpreter-Programm (dessen Name dürfte auf Deiner Plattform wahrscheinlich mit "exe" enden).

      genau, ich hab auch XP und Apache, bei mir ist Perl in C:/Perl also lautet der Pfad #!C:/Perl/bin/Perl.exe ausserdem weis ich nicht ob Perl Dateien als .pl ausführbar sind. Wenn es nicht klappen sollte, versuche die Extension .cgi, so funktionierts auf jeden Fall.

      1. Hallo,

        #!c:/perl/bin/

        ich halte das für keinen korrekten Pfad zu Deinem Perl-Interpreter-Programm (dessen Name dürfte auf Deiner Plattform wahrscheinlich mit "exe" enden).

        genau, ich hab auch XP und Apache, bei mir ist Perl in C:/Perl also lautet der Pfad #!C:/Perl/bin/Perl.exe ausserdem weis ich nicht ob Perl Dateien als .pl ausführbar sind. Wenn es nicht klappen sollte, versuche die Extension .cgi, so funktionierts auf jeden Fall.

        Habe den Pfad zu #!c:/perl/bin/perl.exe geändert.
        Jetzt läuft es !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

        Ganz herzlichen Dank an alle für die schnelle Hilfe !!!!

      2. guten Morgen,

        #!c:/perl/bin/
        genau, ich hab auch XP und Apache, bei mir ist Perl in C:/Perl also lautet der Pfad #!C:/Perl/bin/Perl.exe ausserdem weis ich nicht ob Perl Dateien als .pl ausführbar sind. Wenn es nicht klappen sollte, versuche die Extension .cgi, so funktionierts auf jeden Fall.

        Je nun, bei mir wäre der korrekte Pfad D:/Perl/bin/perl.exe (wobei man das "exe" auch weglassen kann, ist ja nen Windows-System), und *.pl-Scripts sind durchaus ausführbar, man muß nicht zwingend beim Scriptnamen auf *.cgi beharren.
        Das hängt alles ein bißchen von der httpd.conf ab. Man kann sogar (jetzt höre ich aber Michael Schröpl schon aufschreien) mit
          ScriptInterpreterSource registry
        erreichen, daß in Scripts gar kein "shebang" mehr stehen muß. Solange man an "seinen" Apache nicht allzu hohe Anforderungen stellt und nur "offline" ein paar Scripts durchspielen will, läßt sich das schon mal machen. Besonders guter Stil ist es nicht, aber funktioniert.

        Christoph S.

        1. Hi Christoph,

          Man kann sogar (jetzt höre ich aber Michael Schröpl
          schon aufschreien)

          ;-)))

          mit
            ScriptInterpreterSource registry
          erreichen, daß in Scripts gar kein "shebang" mehr
          stehen muß. Solange man an "seinen" Apache nicht
          allzu hohe Anforderungen stellt und nur "offline"
          ein paar Scripts durchspielen will, läßt sich das
          schon mal machen. Besonders guter Stil ist es nicht,
          aber funktioniert.

          Meiner Meinung nach ist der große Vorteil von Apache unter Windows, daß man damit die Umgebung seines Webspace relativ genau nachbauen kann. (Für einen produktiven Einsatz gibt es stabilere Plattformen - ab Apache 2 können wir darüber ggf. noch mal reden.)

          Insofern halte ich es dann für ziemlich suboptimal, wenn man seine Skripts aufgrund einer Apache-Konfigurationsanweisung, die genau nur auf der 'falschen' ;-) der beiden Plattformen verfügbar ist, mit Gewalt so schreibt, daß sie auf der anderen Plattform nicht laufen - genau das wäre nach Deinem Vorschlag der Fall. Und dies nicht etwa, weil es nicht möglich wäre (wenn die shebang ignoriert wird, dann _kann_ man sie ja auch richtig setzen), sondern weil die Anwender daran gewöhnt werden, "gar nichts tun zu müssen, es geht alles von alleine, Micro$oft rät schließlich immer richtig" und dann prompt auf die Nase fallen, wenn sie ins 'echte' WWW kommen. (Und dann auch noch darüber jammern, wie umständlich UNIX sei, unter Windows wäre doch alles ganz einfach gewesen ...)

          Ja, es 'funktioniert' (vorausgesetzt, Du willst CGI-Skripte nicht per Doppelklick in Deinen Editor laden können - ich will das) - aber es bringt den Leuten den falschen Stil bei - nämlich denjenigen, das Gehirn auszuschalten.
          Wenn Du für so etwas plädierst, wieso dann nicht gleich einen IIS, der ist doch "dabei", den muß man nicht erst installieren?

          Viele Grüße
                Michael

          1. hi ;-)

            (jetzt höre ich aber Michael Schröpl schon aufschreien)
            ;-)))

            naja, ganz so laut mußte es auch wieder nicht sein *g*

            Meiner Meinung nach ist der große Vorteil von Apache unter Windows, daß man damit die Umgebung seines Webspace relativ genau nachbauen kann. (Für einen produktiven Einsatz gibt es stabilere Plattformen - ab Apache 2 können wir darüber ggf. noch mal reden.)

            Da sind wir sogar wörtlich absolut derselben Meinung.

            ... genau das wäre nach Deinem Vorschlag der Fall.

            Um Gottes willen, halte nicht jede meiner Äußerungen gleich für "Vorschläge". Ich habe lediglich auf eine prinzipiell vorhandene Möglichkeit hingewiesen.

            Ja, es 'funktioniert' (vorausgesetzt, Du willst CGI-Skripte nicht per Doppelklick in Deinen Editor laden können - ich will das)

            ähm  -  das verstehe ich nicht. Ich will das ebenfalls, und ich kann es ebenfalls.

            aber es bringt den Leuten den falschen Stil bei - nämlich denjenigen, das Gehirn auszuschalten.

            Wir sind schon wieder völlig derselben Ansicht, deshalb hab ich ja geschrieben: "Besonders guter Stil ist es nicht ..."

            Wenn Du für so etwas plädierst

            Bitte nochmal ganz deutlich: ich habe keineswegs dafür plädiert, sondern lediglich auf eine Option hingewiesen  -  die übrigens, so weit ich das sehe, in der "endgültigen" 2er-Version nicht mehr vorhanden sein wird.

            schönste Grüße

            Christoph S.

  2. hallo micha,

    such doch bitte mal in allen forum-archiven nach:

    "couldn't spawn child process"

    da finden sich sehr viele interessante hinweise zu deinem problem!
    falls es dann immer noch nicht geht, müsstest du mal deine httpd.conf posten.

    viele grüße,
    bruno

    1. hallo micha,

      ich meinte natürlich alex :))

      (urlaubsreif)

      viele grüße,
      bruno