Michael Schröpl: Probleme mit Perl CGI-script auf Apache 1.3.9 unter NT4.0

Beitrag lesen

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.