Esben: Perl - (Confixx-?) Problem...

hallo leute,

auf unserem suse root - server laufen perl-skripte nur dann, wenn man sie im confixx-eigenen cgi- verzeichnis laufen lässt.
in den cgi-bin verzeichnissen der "kunden" (web1, web2 etc...) laufen sie nicht, lediglich von der konsole aus aufgerufen lassen sie sich fehlerfrei ausführen.

im apache - error log steht der berühmt berüchtigte satz

premature end of script headers: test.cgi

muss man zusätzlich zu den einstellungen im confixx noch "manuell" etwas an der apache - konfiguration ändern?

dank euch! viele grüße, esben

  1. Halihallo Esben

    in den cgi-bin verzeichnissen der "kunden" (web1, web2 etc...) laufen sie nicht, lediglich von der konsole aus aufgerufen lassen sie sich fehlerfrei ausführen.

    Wieso? - Sie laufen ja genausogut wie auf der Konsole, nur, dass
    der Apache keine gültigen HTTP-Header bekommt und daraufhin die
    Fehlermeldung ins error_log schreibt.

    im apache - error log steht der berühmt berüchtigte satz
    premature end of script headers: test.cgi

    Ich nehme an, du weisst wie man dies behebt?

    muss man zusätzlich zu den einstellungen im confixx noch "manuell" etwas an der apache - konfiguration ändern?

    Keine Ahnung, aber die Fehlermeldung ist zumindest einleuchtend, wenn
    keine HTTP-Header generiert wurden... Erster Schritt ist also, ob
    ein gültiger Header ausgegeben wird... *Dies* kannst du ja auf der
    Konsole testen. Kommt beim Starten etwas wie
    "Content-Type: text/html" o.ä.?

    Wie sieht denn so ein Script aus, dass bei Confixx-cgi-bin
    funktioniert, bei web\d+ aber nicht?

    Viele Grüsse

    Philipp

    1. Hallo Philipp!

      Es ist so eine 08/15 Testskript:

      #!/usr/bin/perl -w

      use strict;
      use CGI::Carp qw(fatalsToBrowser);

      print "Content-type: text/html\n\n";
      print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">', "\n";
      print "<html><head><title>Test-Ausgabe</title></head><body>\n";
      print "<h1>Hurra, es klappt!</h1>\n";
      print "</body></html>\n";

      Stammt ursprünglich sogar aus Selfhtml und läuft auf meinem lokalen Windows-Apache problemlos. Ich denke, man muss irgendetwas freischalten oder so.
      Gruß, Esben

      1. Hi,

        Stammt ursprünglich sogar aus Selfhtml und läuft auf meinem lokalen Windows-Apache problemlos. Ich denke, man muss irgendetwas freischalten oder so.

        ich vermute was anderes. "\r\n" statt "\n".

        Mach mal dos2unix auf der Konsole oder - wenn nicht geht - übertrage den Kram per ftp im Ascii-Modus!

        Gruß
        Reiner