Perl wird nur als Text angezeigt

Münchow

Mitglied
Hallo zusammen,

ich fahre aktuell den Apache 2.2 unter Windows Server 2003 mit PHP 5.1.2 und Perl 5.8.7. Besser gesagt, ich versuche es.

Bisher hatte ich bei sonst gleicher Konfiguration den Apache 2.0 laufen und da hat auch alles geklappt.

Doch jetzt will irgendwie Perl nicht mehr laufen. Wenn ich eine Webseite öffne, die ein Perl Script beinhaltet, bekomme ich die Seite als normalen Text übertragen und nicht vorher vom Perl-Interpreter durchgekaut. Um die Konfiguration zu testen, habe ich den Apache 2.2 auf dem gleichen Server parallel laufen, der einzige Unterschied liegt darin, das der Listen Port beim 2.2 aktuell auf 8080 gesetzt ist. Alles andere ist zwischen beiden Konfigurationen gleich.

Jetzt kommt das Verrückte. Ich habe also festgestellt, das in dem Apache 2.2 perl nicht läuft, im Apache 2.0 aber sehr wohl. Daraufhin habe ich in dem entsprechenden Ordner in die .htaccess geschaut und dort nachgesehen. Hier habe ich damals den 'ScriptInterpreterSource' Eintrag plus einem 'AddHandler' für .pl Dateien, womit es ja beim Apache 2.0 wunderbar lief. Nun habe ich den Parameter von 'Registry' auf 'Registry-Strict' geändert und anschließend ging es in BEIDEN nicht mehr. Also wieder geändert auf den alten Wert, aber jetzt klappt es trotzdem bei BEIDEN nicht mehr!!

Was muss ich also tun, damit der Perl-Interpreter wieder angeworfen wird?? Hier mal alles was ich aktuell eingestellt habe am Apache 2.2:

httpd.confCODE LoadModule cgi_module modules/mod_cgi.so

<Directory "D:/wwwroot">
Options Indexes FollowSymLinks ExecCGI
</Directory>

<IfModule alias_module>
ScriptAlias /my/perlscript/folder/ "D:/wwwroot/my/perlscript/folder"
</IfModule>


.htaccess File im Ordner D:\wwwroot\my\perlscript\folder
CODE ScriptInterpreterSource registry
AddHandler cgi-script .pl


Registry für .pl Endung
CODE [HKEY_CLASSES_ROOT\.pl\Shell\ExecCGI\Command]
@="D:\\Programme\\perl\\bin\\perl.exe"


PATH Variable im System
CODE PATH=%PATH%;D:\Programme\perl\bin\


Bin dankbar für alle Ideen und Vorschläge,
Münchow
 
Hallo zusammen,

nach so langer Zeit habe ich mich nochmal mit dem Problem beschäftigt und endlich den Schuldigen gefunden.
tongue.gif


Die Ursache lag in der httpd.conf. Hier war im Directory Eintrag für das Root-Verzeichnis die Option AllowOverride auf None gesetzt. Dies hat dazu geführt, dass das Überschreiben der Verzeichnis-Einstellungen per .htaccess in allen Unterverzeichnissen nicht möglich ist. Nachdem die Option umgestellt wurde auf All, wurden die Änderungen per .htaccess akzeptiert und Perl funktioniert wieder.
biggrin.gif


Jetzt stellt sich höchstens noch die Frage, wann und wie diese Optionsänderung reingerutscht ist, so daß es früher geklappt hat und nachher plötzlich nicht mehr.
unsure.gif


Grüße und danke fürs zuhören,
Münchow
 
Zurück
Oben