PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl geht nicht



bungee
18.09.02, 16:51
Hallo,

habe es nun endlich geschafft, virtuelle Webserver anzulegen.

Leider funktioniert aber cgi nicht. Das Verzeichnis liegt unter /usr/local/httpd/cgi-bin - wie halt bei Suse8 Standart ist.

Wenn ich ein cgi dort ablege und aurufe über http dann kommt leider immer "Internal Server Error". Wem muß eigentlich das Verzeichnis cgi-bin gehören? Habe es schon mit nobody:nogroup und wwwrun:nogroup versucht, bringt aber leider nichts.

Hier ist mal meine httpd.conf.

Ich kann leider keinen Fehler entdecken.
Außerdem wird beim Start von Apache immer PHP zweimal geladen. Ist dieser Fehler auch in der httpd.conf zu suchen?

Danke für eure Mithilfe.

Gruß Enno

slime
18.09.02, 16:55
kuck mal in der error.log vom apache, da sollte der cgi-fehler drinstehen.
um sicher zu sein das die rechte stimmen kannst du ja "chmod o+x <datei>" machen

bungee
18.09.02, 17:00
Hier ist meine httpd.conf

gruss Enno

bungee
18.09.02, 17:13
hallo slime,

ich der apache error-log habe ich folgendes gefunden:

[Wed Sep 18 17:41:41 2002] [error] [client 10.1.202.87] Premature end of script
headers: /usr/local/httpd/cgi-bin/dcboard.cgi

Any Idea? ;-)

slime
18.09.02, 17:22
führe das script mal von hand mit perl aus
am besten "perl -w <name>", dann werden noch mehr infos angezeigt,
an den rechten hängt das nicht

bungee
18.09.02, 17:25
AHA, mit perl -w in der ersten Zeile scheint es zu klappen.
Was soll ich denn nun machen? Ich würde nur ungern alle Scripte ändern wegen dem "w".

Hast du noch einen Tip?

Enno

michael.sprick
19.09.02, 14:45
hä?
-w ist nur das Flag das dem Interpreter sagt, Errors mit zu loggen.....

Ging es denn jetzt via Webserver oder hast du via Console probiert?

bungee
19.09.02, 14:51
Hi Bilbo,

habe in allen Scripten die erste Zeile #!/usr/bin/perl gegen #!/usr/bin/perl -w ausgetauscht.
Nun läuft auch mein Forum und alle anderen Scripte.

Ist auch nicht ganz so schlimm, wenn es allerdings eine einfache Lösung gäbe würde ich es auch gern ändern.

Gruß Enno

Morph21
21.12.02, 21:00
Hab leider dasselbe Problem, ich nutze Suse 7.2 Personal, Apache 1.3.26 und Perl 5.6.

Ich bekomm auch diesen Internal Server Error, im Prinzip ist bei mir alles gleich wie beim Ersteller dieses Threads, also auch die Errors im Log.

Der code meines Test Programms stimmt sicher, wenn ich es in der Shell mit -W ausführe bringt er keine Fehlermeldung und wenn ich es mit -c ausführe sagt er das die Syntax ok ist.

Die Config des Apaches stimmt auch und ansonsten hab ich so ziehmlich alles ausprobiert was ich hier in diversen Beiträgen zu dem Thema gelesen hab, die Rechte stimmt natürlich auch.

Komischerweise hat ich dasselbe Problem auch mal vor einer Weile auf meinem Webserver, irgendwan hat es dann geklappt, weis aber nicht mehr genau wo damals das Problem lag.

Ich hoffe mir hilft irgend jemand, ich weis einfach nicht mehr weiter...danke.

sheinatz
22.12.02, 07:28
war das nicht aus sicherheitsgruenden.

das ein perl cgi interpreter nur -w sachen nimmt, damit garkein syntaktischer compilefehler mitlaufen kann.

oder weil der apache perlinterpreter, die variablen aufjedenfall vordeklariert braucht, weil das erzwingt das -w aufjedenfall.

Morph21
22.12.02, 09:30
Jep nach einem Blick in eine andere .pl Datei hab ich das auch mal getestet und nu gehts :)