Hallo,
mein CGI läuft nicht. Vor zwei Tagen habe ich ActivePerl5.8 von ActiveState auf einem 98er Rechner installiert, auf dem der PWS läuft. In der PWS-Konfiguration hatte ich dann noch ein neues virtuellen Verzeichnis angelegt, dem ich auch Execute-Rechte gab (wie auch dem Home-Verzeichnis). Die CGI- und PL-Skripte funktionierten aber nicht. Es kam immer die 500er-Seite (Internal Server Error). Normale HTML-Seiten waren aber abrufbar. Das virtuelle Verzeichnis funktionierte also.
Bei einer Suche im Netz fand ich dann den Hinweis auf die beiden folgenden Registry-Einträge:
HKEY\_LOCAL\_MACHINE\
System\
CurrentControlSet\
Services\
W3SVC\
Parameters\
Script Map\.cgi und .pl = "C:\Perl\bin\perl.exe %s %s",
die ich jeweils mit dem angegebenen Wert belegte. Als ich die drin hatte, funktionierte es.
Nun habe ich die gleiche Installation (ActivePerl) bei einem zweiten Rechner durchgeführt. Der einzige Unterschied ist, daß Perl nicht auf C:, sondern auf meiner Datenplatte E: installiert wurde. Das konnte man komischerweise nicht beeinflussen (MSI-Problem?). Allerdings läuft das CGI hier nicht , auch nicht nach Anpassung der Registry-Einträge (E:stuck_out_tongue:fad statt C:stuck_out_tongue:fad) und der ersten Skript-Zeilen (#!E:/Perl/bin/perl statt #!C:/Perl/bin/perl). In letzterer habe ich es auch noch mit .exe hinten dran und -w probiert - es hilft nichts. Es kommt immer noch die 500er Fehlerseite.
Woran kann ich noch drehen? Ich weiß keine Unterschiede mehr zwischen den Rechnern. Bis auf einen: Der erste Rechner ist im Netzwerk, der andere steht allein. Die Seite wurde aber in beiden Fällen über http://Rechnername/cgi-bin/Test.cgi aufgerufen, also lokal.
Vielen Dank für einen vielleicht rettenden Hinweis,
Kristian