Mazze: perl-Pfad unter Apache/Windows

Hallo zusammen,

Würde mich freuen wenn jemand ein Antwort weiss:

Ich hab den Apache 1.3 auf Win95 installiert, dazu perl 5.

Wenn ich nun lokal meine CGI-skripte teste gebe ich als Perl-Pfad in der ersten Zeile #!C:\perl\bin\perl an. Klappt dann auch ganz prima. Nun muss ich aber für jedes skript das ich uploade diesen Pfad von Hand in #!/usr/bin/perl ändern.
Kennt jemand eine Apache-Konfigurationseinstellung oder einen Trick, diesen Pfad zu faken, dass ich mir das leidige Umändern spare?

Mit bestem Dank,

Mazze

  1. Hallo Mazze,

    imho keine Chance :(

    Viele Grüße Günter (dem's unter Windoof genauso geht)

  2. Hallo,

    Kennt jemand eine Apache-Konfigurationseinstellung oder einen Trick, diesen Pfad zu faken, dass ich mir das leidige Umändern spare?

    Suche in der Datei 'httpd.conf' nach
    #ScriptInterpreterSource registry
    und entferne das # davor.
    Dann wird von Apache nicht die Unix-typische Auswertung der Shebang-Zeile durchgeführt.
    Allerdings müssen dann die Dateiextension '.pl' bzw. '.cgi' bzw. was auch immer mit Perl verknüpft sein.

    Näheres dazu steht in der Datei 'httpd.conf', dort wo auch die Konfigurationsdirektive steht.

    Grüße
      Klaus

    1. Hallo Klaus,

      Suche in der Datei 'httpd.conf' nach
      #ScriptInterpreterSource registry
      und entferne das # davor.
      Dann wird von Apache nicht die Unix-typische Auswertung der Shebang-Zeile durchgeführt.
      Allerdings müssen dann die Dateiextension '.pl' bzw. '.cgi' bzw. was auch immer mit Perl verknüpft sein.

      diese Zeile war in meiner httpd.conf Datei (Apache1.3 unter Win98) nicht drin.
      Ich habe sie mal einfach eingefügt und es funktioniert.

      Vielen Dank für den Tipp - man lernt hier immer wieder dazu :)

      Viele Grüße Günter

      1. Hi Moin!

        diese Zeile war in meiner httpd.conf Datei (Apache1.3 unter Win98) nicht drin.
        Ich habe sie mal einfach eingefügt und es funktioniert.

        Doku dazu uebrigens auf http://httpd.apache.org/docs/mod/core.html#scriptinterpretersource. Und nicht vergessen, geht erst ab Apache 1.3.5, nicht dass sich mal jemand mit einer aelteren Version sinnlos wundert.

        So long

        P.S. Eine andere Moeglichkeit waere gewesen, Perl nach \usr auf dem Laufwerk zu installieren, auf dem dann das cgi-bin liegt. Dann wuerde die Angabe /usr/bin/perl naemlich auch funktionieren. Ist natuerlich keine schoene Sache.

      2. nochmal zu ScriptInterpreterSource registry

        Interessant ist dabei, daß ich wirklich Apache 1.3 und keine höhere Version installiert habe.

        Das sagt mir, daß es da schon eine sozusage "schlummernde" (nicht dokumentierte) Option war.
        Nicht dokumentiert ... funktioniert aber dennoch.

        Mhm, werde ich mir wohl eine neue Version saugen müssen ...

        Günter (nicht immer uptodate)

    2. Hallo Mazze,

      Kennt jemand eine Apache-Konfigurationseinstellung oder einen Trick, diesen Pfad zu faken, dass ich mir das leidige Umändern spare?

      Suche in der Datei 'httpd.conf' nach
      #ScriptInterpreterSource registry

      Zusaetzlich hierzu kannst du auch noch eine Direktive aus der httpd.conf einsetzen.

      Apache parses all CGI scripts for the shebang line by default.

      This comment line, the first line of the script, consists of the symbols

      pound (#) and exclamation (!) followed by the path of the program that

      can execute this specific script.  For a perl script, with perl.exe in

      the C:\Program Files\Perl directory, the shebang line should be:

      #!c:/program files/perl/bin/perl.exe

      Ganz abwegig aber es laueft,
      du kannst mit dem Apache auf Win, dir auch ein aehnliches System wie auf UNIX Zusammenschustern. "/usr/bin/perl" Interpretiert der Indianer z.B. als c:\usr\bin\perl.exe.

      gruesse
        jens mueller

      1. Hallo,

        Zusaetzlich hierzu kannst du auch noch eine Direktive aus der httpd.conf einsetzen.

        [...]

        #!c:/program files/perl/bin/perl.exe

        Äh, das da ist keine Direktive, sondern nur ein Beispiel, wie es normalerweise auszusehen hat.

        Ganz abwegig aber es laueft,
        du kannst mit dem Apache auf Win, dir auch ein aehnliches System wie auf UNIX Zusammenschustern. "/usr/bin/perl" Interpretiert der Indianer z.B. als c:\usr\bin\perl.exe.

        Am besten wäre natürlich, das ganze mit Cygwin zu erledigen. Da läuft dann Apache und Perl in der 'gewohnten' Umgebung. Außerdem wird dann aus Windows fast ein brauchbares Betriebssystem;-)

        Grüße
          Klaus

  3. Danke für Eure Mithilfe - funzt tadellos!

    Mazze