Was heißt "Premature end of script headers" ?!
Rainer Honsch
- perl
0 Stefan Bion0 Danny0 Stefan Bion
Hallo !
Ich habe versucht folgendes Script auf einem Server zum laufen zu kriegen:
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print "Hallo";
Bekomme dann immer einen Internal Server Error 5000 und im Log-File steht:
Premature end of script headers
Was heißt das ??
Rainer
Hi,
Premature end of script headers
Was heißt das ??
Naja, vorzeitiges Ende der Script-Header... ;-)
Dumme Frage: Falls der Server unter UNIX läuft und Du das Script von einer NT-Kiste per FTP hochgeladen hast: Hattest Du den ASCII-Modus eingeschaltet?
Gruß,
Stefan
Dumme Frage: Falls der Server unter UNIX läuft und Du das Script von einer NT-Kiste per FTP hochgeladen hast: Hattest Du den ASCII-Modus eingeschaltet?
gelegentlich, wenn ich ein script von windows nach linux rüberkopiere habe ich hinter jeder zeile ein dummes leerzeichen das aber anscheinend kein leerzeichen ist...
der midnight commander zeigt das soweit ich weiß als \M oder so ähnlich an.
auf jeden fall läuft mein script dann erst, wenn ich dieses zeichen mindestens aus der #!/usr/bin/perl zeile entfernt habe..
danny
Hi,
Dumme Frage: Falls der Server unter UNIX läuft und Du das Script von einer NT-Kiste per FTP hochgeladen hast: Hattest Du den ASCII-Modus eingeschaltet?
gelegentlich, wenn ich ein script von windows nach linux rüberkopiere habe ich hinter jeder zeile ein dummes leerzeichen das aber anscheinend kein leerzeichen ist...
der midnight commander zeigt das soweit ich weiß als \M oder so ähnlich an.
Genau, das ist wahrscheinlich ein "Carrige-Return" (CR) (dezimal 13). Unter Unix gibt's nur Linefeed (LF) (dezimal 10) als Zeile-Ende-Zeichen, unter Windoze/DOS dagegen CR+LF.
auf jeden fall läuft mein script dann erst, wenn ich dieses zeichen mindestens aus der #!/usr/bin/perl zeile entfernt habe..
Ja, in diesem Fall hast Du wahrscheinlich vergessen, die Datei im ASCII-Modus zu übertragen.
Gruß,
Stefan
hi,
auf jeden fall läuft mein script dann erst, wenn ich dieses zeichen mindestens aus der #!/usr/bin/perl zeile entfernt habe..
Ja, in diesem Fall hast Du wahrscheinlich vergessen, die Datei im ASCII-Modus zu übertragen.
was heißt hier übertragen? ich hab die datei einfach von meiner windows partition geholt (unter linux).
schade dass kedit keine funktion zum umwandeln hat :)
ich könnte auch ein script schreiben, dass aus jeder zeile das letzte zeichen entfernt.. aber das scheint mir zu gefährlich.
weiß nämlich nicht wie man das zeichen identifiziert unter linux...
danny
hi,
auf jeden fall läuft mein script dann erst, wenn ich dieses zeichen mindestens aus der #!/usr/bin/perl zeile entfernt habe..
Ja, in diesem Fall hast Du wahrscheinlich vergessen, die Datei im ASCII-Modus zu übertragen.
was heißt hier übertragen? ich hab die datei einfach von meiner windows partition geholt (unter linux).
schade dass kedit keine funktion zum umwandeln hat :)
ich könnte auch ein script schreiben, dass aus jeder zeile das letzte zeichen entfernt.. aber das scheint mir zu gefährlich.
weiß nämlich nicht wie man das zeichen identifiziert unter linux...
danny
auf jeden fall läuft mein script dann erst, wenn ich dieses zeichen mindestens aus der #!/usr/bin/perl zeile entfernt habe..
Ja, in diesem Fall hast Du wahrscheinlich vergessen, die Datei im ASCII-Modus zu übertragen.
was heißt hier übertragen? ich hab die datei einfach von meiner windows partition geholt (unter linux).
Eben - und dabei hat Dein Betriebssystem den Inhalt der Datei nicht verändert - was im allgemeinen Fall auch sinnvoll ist, nur in Deinem Fall eben nicht.
ich könnte auch ein script schreiben, dass aus jeder zeile das letzte zeichen entfernt.. aber das scheint mir zu gefährlich.
Warum schreiben, wenn es FTP-Clients gibt, die genau das (optional) bereits können?