Hallo!
Ich habe ein sehr komplexes Script: :lol:
#!/usr/bin/perl
$file = 'test.txt';
open(INFO ,">>$file") || die "Fehler $!";
print INFO "Hallon";
close INFO;
So - das Verzeichnis in das geschrieben werden soll, steht auf 777.
Wenn ich nun dieses Script in der Shell aufrufe steht schön in der test.txt Hallo.
Rufe ich das Script auf dem Server auf, dann bekomme ich lustigerweise:
Error message:
Premature end of script headers: test.cgi
obwohl es auf 755 steht und Nutzer und Gruppe korrekt sind.
Im error log vom Apachen findet sich dann auch
Premature end of script headers: test.cgi
Im Suexec.log ist nur der Aufruf verzeichnet, aber keine Fehlermeldung.
Die Datei test.txt wird auch angelegt, allerdings mit 0 Byte - also ohne Inhalt und ohne mein Hallo :-)
... und nun bin ich mit meinem Latein am Ende :?:
Vielleicht findet sich hier jemand, der mir helfen kann. Wäre echt lieb.
Elfchen
Perl Script schreibt 0 Byte Dateien
Re: Perl Script schreibt 0 Byte Dateien
Logik: das script bricht ab bevor es die Datei schreiben kann was imho an einem Berechtigungsproblem beim erstellen/schreiben des files liegt
-
- Posts: 28
- Joined: 2004-09-04 17:47
Re: Perl Script schreibt 0 Byte Dateien
***ggg***smashie wrote:Logik: das script bricht ab bevor es die Datei schreiben kann was imho an einem Berechtigungsproblem beim erstellen/schreiben des files liegt
Ja soweit ist mir das klar.
Wie ich das jetzt beheben kann weiss ich aber noch immer nicht, da das zu beschreibende Verzeichnis schon auf 777 steht.
Elfchen
-
- Project Manager
- Posts: 11182
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Perl Script schreibt 0 Byte Dateien
Nö, das Script ist kein CGI und wird daher auch nicht als Solches interpretiert ;)smashie wrote:Logik: das script bricht ab bevor es die Datei schreiben kann was imho an einem Berechtigungsproblem beim erstellen/schreiben des files liegt
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: Perl Script schreibt 0 Byte Dateien
jedes ausführbare script ist CGI .. sofern sein apache perl versteht wovon ich ausgehe ist es nach wie vor ein RechteproblemJoe User wrote:Nö, das Script ist kein CGI und wird daher auch nicht als Solches interpretiert ;)smashie wrote:Logik: das script bricht ab bevor es die Datei schreiben kann was imho an einem Berechtigungsproblem beim erstellen/schreiben des files liegt
-
- Posts: 28
- Joined: 2004-09-04 17:47
Re: Perl Script schreibt 0 Byte Dateien
Hi - danke ... aber das ist es nicht, denn mein Hello World Script läuft einwandfrei und wenn es nicht als CGI interpretiert werden würde, dann würde es ja auch keine 0 Byte Datei anlegen und dann nur nicht reinschreiben.Nö, das Script ist kein CGI und wird daher auch nicht als Solches interpretiert ;)
Es liegt auch nicht an den übergebenen Variablen, da ich es ja gemäss dem obenstehenden Script mit einem Text ohne Variable probiert habe. Zudem lassen sich die Variablen in Mails problemlos versenden.
Yep, dem ist so ... aber wie ich es nun beheben kann wäre wirklich interessant ... HILFE!jedes ausführbare script ist CGI .. sofern sein apache perl versteht wovon ich ausgehe ist es nach wie vor ein Rechteproblem
PS:
nicht sein Server ... ihr :-D
-
- Project Manager
- Posts: 11182
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Perl Script schreibt 0 Byte Dateien
http://www.perldoc.com/perl5.6/pod/perlrun.html
http://www.perldoc.com/perl5.6/pod/perlstyle.html
Hint: #!/usr/bin/perl -wT
http://www.google.com/search?hl=en&ie=U ... gle+Search#
http://www.perldoc.com/perl5.6/pod/perlstyle.html
Hint: #!/usr/bin/perl -wT
http://www.google.com/search?hl=en&ie=U ... gle+Search#
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 28
- Joined: 2004-09-04 17:47
Re: Perl Script schreibt 0 Byte Dateien
Vielen Dank, aber das habe ich schon alles durch.
Bei meinem Miniscript bekomme ich auch einen Syntax OK sowie in keinem Logfile einen Fehlereintrag. Die Premature end of script headers weisen ja auf einen Rechtefehler hin, nur dann sollte der ja auch irgendwo geloggt sein. Nachdem aber in keinem Logfile ein Fehler ausgegeben wird frage ich mich doch wo das jetzt herkommt, das die Files alle auf 0 Byte stehen. Würde ein Rechteproblem bestehen könnte er die Datei ja gar nicht anlegen, da er dafür ja schon schreiben muss.
Ich dachte mitunter hat Strato auf seinen Rootservern da einen Trick eingebaut oder eine altbekannte Sache, aber mir scheint dem ist wohl nicht so. Da muss ich jetzt wohl weiterbuddeln - aber wie gesagt - wo keine Fehlermeldung ist das etwas sehr schwer .......
Elfchen
Bei meinem Miniscript bekomme ich auch einen Syntax OK sowie in keinem Logfile einen Fehlereintrag. Die Premature end of script headers weisen ja auf einen Rechtefehler hin, nur dann sollte der ja auch irgendwo geloggt sein. Nachdem aber in keinem Logfile ein Fehler ausgegeben wird frage ich mich doch wo das jetzt herkommt, das die Files alle auf 0 Byte stehen. Würde ein Rechteproblem bestehen könnte er die Datei ja gar nicht anlegen, da er dafür ja schon schreiben muss.
Ich dachte mitunter hat Strato auf seinen Rootservern da einen Trick eingebaut oder eine altbekannte Sache, aber mir scheint dem ist wohl nicht so. Da muss ich jetzt wohl weiterbuddeln - aber wie gesagt - wo keine Fehlermeldung ist das etwas sehr schwer .......
Elfchen
-
- Project Manager
- Posts: 11182
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Perl Script schreibt 0 Byte Dateien
Da Du das Script als CGI ausführen willst, musst Du auch die entsprechenden HTTP-Header senden, was Du nicht machst. Daher ist das Script nunmal kein CGI und wird auch nicht als ein Solches behandelt.
BTW: Wir drehen uns im Kreis...
BTW: Wir drehen uns im Kreis...
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 1675
- Joined: 2003-07-06 02:03
Re: Perl Script schreibt 0 Byte Dateien
Hallo,
Also dann mal raus mit dem Header (als 2. Zeile):
Gruß, Wolfgang
das Script ist zu Ende bevor ein Header ausgegeben wurde.Elfchen wrote:Premature end of script headers: test.cgi
Also dann mal raus mit dem Header (als 2. Zeile):
Code: Select all
print "Content-type: text/htmlnn";