"Premature end of script headers" ich weiß nicht m

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

"Premature end of script headers" ich weiß nicht m

Postby BennyB » 27. June 2004 21:15

Hallo Freunde,

so langsam verzweifele ich. Ich hab ein Problem mit cgi Scripten und ich weiß einfach nicht was ich machen soll. Ich hab jetzt mal den Beitrag in dieses Forum gesetzt in der Hoffnung das Oswald vielleicht ne Idee hat.

Beim Ausführen von cgi Scripten bekomme ich im Browser ein Internal Server Error. Im error_log steht Premature end of script headers:

Am CONTENT... Eintrag kanns nicht liegen, weil der in den Scripten drin steht.

Ich habe rausgefunden, dass wenn ich use CGI::Carp qw(fatalsToBrowser); in die Dateien einfüge, funktionierts. Das ist aber nicht die optimale Lösung, weil ich das dann bei über 100 Scripten machen müsste.

Eine weiter Lösung war, hinter der CONTENT Zeile ein paar Leerzeilen einzufügen. Erstaunlicherweise hat auch das funktioniert. Warum ist mir schleierhaft, aber egal.Jetzt habe ich wiederrum das gleiche Problem, dass ich das bei über 100 Scripten machen müsste.

Vielleicht ist es auch ein Konfigurationsproblem von XAMPP, Apache oder ähnlichem. Das ganze habe ich nämlich auch mal mi LAMPP auf Windows ausprobiert und dort funktioniert es einwandfrei.

Kann es denn sein, dass Format der Dateien irgendwie nicht stimmt. Ich hatte die Dateien auf einem Windows Rechner, hab sie dann auf eine CD gebrannt und dann auf meinen Linux PC kopiert. Kann es sein, das es dort irgendwie Probleme geben kann, zwischen Windows und Linxu Format der Dateien?

Hoffentlich hat einer von Euch eine funktionierende Lösung für mich, ich sitze nämlich schon seit 2 Wochen an diesem Problem und noch keiner konnte mir helfen.

Please... :oops:

Gruß
BennyB
BennyB
 
Posts: 36
Joined: 07. June 2004 08:08

Postby serital » 27. June 2004 22:45

Hallo,

ich glaube daß du Problem mit dem Zeilenende-Zeichen hast. Du musst darauf achten, dass du unter Windows in den Editoren das Unix-Zeilenendezeichen einstellst. - Sonst geht nichts!

MfG
serital
serital
 
Posts: 6
Joined: 27. June 2004 08:25

Postby serital » 27. June 2004 22:55

Nochmal Hallo,

Falls es daran liegt - hilft dir folgendes Script weiter! - http://www.michel-messerschmidt.de/de/textconv.html

Bis dann
serital
serital
 
Posts: 6
Joined: 27. June 2004 08:25

Postby BennyB » 28. June 2004 00:45

Danke erstmal, aber wie führe ich diese Script denn aus?

Wenn ich auf den Downloadlink klicke, wird mir der Code direkt im Browser angezeigt.

Wenn ich save as mache, kriege ich als Vorgabe die Datei in html abzuspeichern.

Wenn ich die Datei in .cgi umbenenne, bekomme ich den gleichen Fehler wie bei mein meinen anderen cgi Scripten :cry:

Bin ich zu doof???
BennyB
 
Posts: 36
Joined: 07. June 2004 08:08

Postby Oswald » 28. June 2004 09:44

Hallo Benny!

Du hast es nirgendwo erwähnt, aber ich vermute mal Du programmierst in Perl?

Hast Du mal beispielhaft so ein nicht funktionierendes Skript? Ich vermute sehr stark es ist ein Fehler in dem Skript.

Liebe Grüße
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby BennyB » 28. June 2004 10:25

Hallo Oswald,

nein, leider habe ich nicht viel Ahnung vom Perl programmieren. Das Script ist ein Testscript einer Auktionssoftware, um zu sehen, ob der Server alle Voraussetzungen erfüllt.

KriS hat sich das Ding auch schon mal zur Brust genommen, und bei ihm hat es auch nicht funktioniert.

Das Script ist nicht sehr groß, so dass ich es Dir schicken könne. Wäre nicht schlecht, wenn Du es Dir mal anschauen könntest.

Grüße
BennyB
BennyB
 
Posts: 36
Joined: 07. June 2004 08:08

Postby Oswald » 28. June 2004 10:52

Huhu Benny!

Schick es mir doch einfach mal: oswald@apachefriends.org

Liebe Grüße
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby Oswald » 28. June 2004 11:24

Huhu Benny!

Danke für das Skript. Ich hab Dir grad die korrigierte Version zurückgeschickt.

Also:

Der Hauptfehler waren - wie serital schon richtig vermutete - die unterschiedlichen Zeilenumbrüche von Unix und Windows. Dein Skript beginnt so:

#!/usr/bin/perl

Hinter dem perl steht aber noch ein unsichtbares Zeichen (^M), dass unter Windows Carriage-Return bedeutet. Unter Unix hat es aber nicht diese Bedeutung und so nimmt Unix an, dass es zum Namen perl gehört. Unix versucht also das Programm perlX (wobei X das unsichtbare Zeichen sein soll). Und "perlX" gibt es halt nicht. Sondern "perl". Du musst also nur dieses unsichbare Zeichen entfernen und gut ist. Vielleicht hilft Dir ja das Programm auf das serital verwiesen hat.

Was ich auch noch geändert habe:

#!/opt/lampp/bin/perl

So wir sichergestellt, dass das Skript vom XAMPP-Perl ausgeführt wird. So sollte es eigentlich sein. Aber auch die bestehenden Variante kann funktionieren. Musst Du mal ausprobieren.

Liebe Grüße
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby Kristian Marcroft » 28. June 2004 14:28

Hi,

das mit der she-bang habe ich ihm aber gesagt :)
Nicht das hier jemand auf komische gedanken kommt ;)

So long
KriS
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby BennyB » 28. June 2004 14:41

Natürlich hast Du mir das mit der she-bang gesagt, aber daran lag es ja nicht..... :wink:

Oswald, ich habs zwar noch nicht ausprobieren können, aber trotzdem schon mal vielen Dank für die schnelle Hilfe....

Gruß
BennyB
BennyB
 
Posts: 36
Joined: 07. June 2004 08:08


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 23 guests