Christoph Schnauß: XAMPP-CGI/Perl

Beitrag lesen

hallo Thomas,

na sowas: ich war am Wochenende nicht vorhanden, bin grade fünf Minuten wieder online bzw. am Rechner (eigentlich nur, um mir das Finale von Terminator3 reinzuziehen), und dann stoße ich auf deine Frage ;-)

Ich bin Neuling was Webserver angeht.

Macht nichts, wie Cheatah dir in mindestens zwei zitierenswerten Bemerkungen bereitzs geraten hat (er ist übrigens heute in milder Stimmung, das solltest du nutzen)

Ich hab jetzt das Gesamtpaket von XAMPP heruntergeladen um darin lokal meine Perl-Scripts ausführen zu können.

Das ist möglicherweise der erste Fehler, den du begangen hast. XAMPP wird zwar von guten Leuten betreut und entwickelt, sber es enthält ganz einfach "zuviel" Software im Gesamtpaket. Und das betrifft insbesondere den Apache. In XAMPP ist bereits eine Eigenkompilation von Apache 2.2.0 enthalten, die man sich als "normaler user" aber von den Originalquellen noch nicht besorgen kann - und die man auch nicht unbedingt braucht.

Mein Vorschlag: Besorge dir zunächst einen Apache 2.0.55 von http://mirrorspace.org/apache/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi und installiere ihn, dann besorgst du dir das aktuelle Perl für Windows von http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.7.815-MSWin32-x86-211909.msi. Das installierst du beides und wirfst dein XAMPP komplett weg.
Danach hast du aber noch kein funktionierendes Perl über die CGI-Schnittstelle. Die Anleitung, wie du das machen kannst, findest du in meinem Artikel (auch wenn der für etwas ältere Versionen geschrieben wurde, gilt das, was da drinsteht, immer noch).

mit http://localhost/cgi-bin gibt´s Probleme, genauergesagt einen Internal Server Error.

Na klar gibts das. Weil du dieses Verzeichnis nicht direkt aufrufen darfst, was auch Sinn macht. Aber ein Aufruf von
   http://localhost/cgi-bin/script.pl
sollte eigentlich eine Scriptausgabe zur Folge haben.

Unter Apache konnte ich so einen schonmal mit der Shebang-Zeile und dem Pfad zum Perl-Interpreter berichtigen.

Hm. Bißchen verdreht ausgedrückt, aber vermutlich hast du genau das Richtige gemacht. Die shebang ist unverzichtbar - es sei denn, du hättest in der Apache-Konfigurationsdatei für den (standardmäßig nicht vorhandenen) Befehl
  ScriptInterpreterSource
den Wert "registry" eingetragen.

Wäre super wenn mir jemand helfen könnte!

Das können wir gewiß, und Cheatah hat dir aufgrund seiner heute außergewöhnlich milden Grundstimmung schon vieles gesagt. Du mußt dir nur klarmachen: was wir hier im Forum besonders gerne machen, besteht darin, daß wir dir den Weg zeigen, wie es geht - dir aber möglichst keine "fertige Lösung" liefern. Es ist kein Fehler, wenn jemand mit diesem ganzen Kram und Krempel überhaupt erst anfängt, folgerichtig auf die Nase fällt, und sich dann hier im Forum mit einer Nachfrage meldet. Das haben wir alle irgendwann mal durch.

Can't locate strict.pm in @INC (@INC contains: .) at C:/Programme/xampp/cgi-bin/default.pl line 3

Das ist eine ausgesprochen hilfreiche Mitteilung. Vermutlich hast du in Zeile 3 deines Scripts stehen:
  use strict;
Das ist eine _gute_ Einstellung, die du beibehalten solltest. Wenn aber da nun gleich das dafür zuständige Modul nicht gefunden werden kann, ist deine XAMPP-Installation defekt. An _dieser_ Stelle stolpert in der Regel noch kein "Newbie", der sich zum erstenmal mit dem Gesamtkomplex Apache/CGI beschäftigt. Und hier wärs dann sinnvoll, wenn du mal so ungefähr die ersten zehn Zeilen deines Scripts mitposten wolltest. Das Forum kann dir durchaus helfen, in eventuell fehlerhaften Scripts die Stelle herauszufinden, an der es hakt. Das geht aber nur dann wirklich zuverlässig, wenn du nicht nur eine verbale Beschreibung lieferst, sondern wenigstens den relevanten Teil deines Scriptcodes angibst.

Can't locate strict.pm [...] line 3.\r
BEGIN failed--[...] line 3.\r

Der Wortlaut solcher Fehlermeldungen ist durchaus bekannt, und da kann dir weitergeholfen werden. Was mich stutzig macht, und sogar _extrem_ stutzig macht, ist die Angabe dieses "\r" am Ende der Zeile. Das dürftest du unter Windows normalerweise auch bei einer korrekten XAMPP-Installation _niemals_ zu sehen bekommen. Es deutet auf irgendeinen Defekt in deiner XAMPP-Installation hin - oder es ist dem Windows-System geschuldet, das du benutzt. Und BTW: gerade bei solchen Fragen ist es enorm wichtig, daß du auch angibst, _welches_ Windows du grade am Laufen hast.

Grüße aus Berlin

Christoph S.

--
Visitenkarte
ss:| zu:) ls:& fo:) va:) sh:| rl:|