volker: Probleme mit Perl CGI-script auf Apache 1.3.9 unter NT4.0

meine CGI-scripts werden nicht ausgeführt bzw. es wird nur die ascii -datei ausgegeben ...

  • ich habe einen Perl-compiler installiert der unter folgendem path zu finden ist
    C:\Programme\Perl\bin\perl.exe  und in die autoexec.bat habe ich die path hinzugefügt

  • die Apache srm.conf enthält folgende Einstellungen:
    AddHandler cgi-script .pl
    AddHandler cgi-script .cgi
    AddHandler perl-script .pl
    ScriptAlias /perl/ "C:/Programme/Apache Group/Apache/perl/"
    <Location /perl>
    SetHandler perl-script
    #PerlHandler Apache::Registry
    Options +ExecCGI
    </Location>

(sobald ich die Zeile '#PerlHandler Apache::Registry' auskommentiere startet mein apache nicht mehr)

  • in der Registry hab ich  unter
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Script Map
    die Einträge für .pl und ,.cgi gemacht
    .pl     C:\Programme\Perl\bin\perl.exe
    .cgi   C:\Programme\Perl\bin\perl.exe

  • meine scripts enthalten den eintrag in der ersten zeile
    #!C:\Programme\Perl\bin\perl.exe    bzw.
    #!perl

kann mir jemand weiterhelfen ?
wie muss in der Apache srm.conf die  Action .... aussehen?
ciao
Volker

  1. meine CGI-scripts werden nicht ausgeführt bzw. es wird nur die ascii -datei ausgegeben ...

    ... was dafür spricht, daß der Webserver nicht glaubt, das Skript via CGI ausführen zu sollen.

    • ich habe einen Perl-compiler installiert der unter folgendem path zu finden ist
      C:\Programme\Perl\bin\perl.exe  und in die autoexec.bat habe ich die path hinzugefügt

    Was ist das für ein Perl-Interpreter?

    Für den ganz normalen ActivePerl unter Windows NT4 sieht Deine Webserver-Konfiguration nämlich ziemlich seltsam aus.

    • die Apache srm.conf enthält folgende Einstellungen:
      AddHandler cgi-script .pl
      AddHandler cgi-script .cgi

    So weit kann ich folgen.

    AddHandler perl-script .pl

    Jetzt wird es seltsam. Die Endung "*.pl" ist bereits dem Handler "cgi-skript" zugeordnet (und so sollte es auch sein).
    Einen Handler "Perl-Skript" kenne ich nicht, und denn brauchst Du hier (normalerweise) auch nicht (es sei denn, Du hast irgendwas, wovon Du bisher nichts geschrieben hast, beispielsweise einen Apache mit eingebautem Perl-Interpreter oder was auch immer, jedenfalls keinen normalen Apache 1.3.9 wie ich).

    ScriptAlias /perl/ "C:/Programme/Apache Group/Apache/perl/"

    Okay, aber überflüssig - der Handler für die Endung *.pl reicht aus, wenn er im entsprechenden Verzeichnis gilt.

    <Location /perl>
    SetHandler perl-script
    #PerlHandler Apache::Registry
    Options +ExecCGI
    </Location>
    (sobald ich die Zeile '#PerlHandler Apache::Registry' auskommentiere startet mein apache nicht mehr)

    Hiervon verstehe ich komplett nichts mehr - das muß an Deinem Perl-Interpreter bzw. dessen Verschmelzung mit Apache liegen.

    • in der Registry hab ich  unter
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Script Map
      die Einträge für .pl und ,.cgi gemacht
      .pl     C:\Programme\Perl\bin\perl.exe
      .cgi   C:\Programme\Perl\bin\perl.exe

    Würde ich auch nicht tun. Wie Apache Perl-Skripts aktiviert, ist unter http://www.teamone.de/selfaktuell/schroepl03.htm#magic nachzulesen.

    • meine scripts enthalten den eintrag in der ersten zeile
      #!C:\Programme\Perl\bin\perl.exe    bzw.
      #!perl

    Letzteres würde ich empfehlen, wenn PATH korrekt gesetzt ist.

    1. danke für die hilfe, meine scripts werden jetzt interpretierte!

      1. danke für die hilfe, meine scripts werden jetzt interpretierte!

        Fein!

        Erzähl doch mal was über Deinen Perl-Interpreter - oder hast Du die ganze seltsame Einbindung jetzt rausgelöscht?