Premature end of script headers:
Denny Sander
- cgi
0 AndreasW0 Denny Sander0 AndreasW0 Denny Sander0 AndreasW0 Denny Sander0 Denny Sander0 AndreasW
0 Michael Schröpl
ich weiß es ist schon oft durchgekaut worden aber ich komme trozdem nicht weiter.
Also folgendes ist die Sachlage:
ich hab ein kleines sript geschrieben welches bei mit auch funktioniert. Jemand wollte das haben, und so habe ich das direkt in sein vezeichnis kopiert ( direkt auf dem server mit dem MC ), und anschließend noch den chown geändert (ich bin web7 und web16) so ...
jetzt kommts .. das script geht nicht ... nach allerlei versuchen und einer lesestunde hier im forum hab ich nun folgedes script erstellt:
------------------------------------------
#! /usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html \n\n";
print "TEST";
------------------------------------------
welches auch bei mir funktioniert.
nicht aber in dem web von dem anderen obwohl alles richtig gesetzt ist ..
hat jemand eine idee ?
Hallo,
ich hab ein kleines sript geschrieben welches bei mit auch funktioniert. Jemand wollte das haben, und so habe ich das direkt in sein vezeichnis kopiert ( direkt auf dem server mit dem MC ), und anschließend noch den chown geändert (ich bin web7 und web16) so ...
chown geändert? Wieso änderst Du das Kommando?
Es hätte doch vollkommen gereicht, den Eigentümer der Datei mit Hilfe des Kommandos chown zu ändern... ;-)
Sind Eigentümer und Zugriffsrechte korrekt (Zugriffsrechte sollten rwxr-xr-x sein).
#! /usr/bin/perl -w
Stimmt der Pfad?
Falls ja, laß das Leerzeichen zwischen ! und / weg.
Andreas
chown geändert? Wieso änderst Du das Kommando?
Es hätte doch vollkommen gereicht, den Eigentümer der Datei mit Hilfe des Kommandos chown zu ändern... ;-)
arg das meinte ich auch
Sind Eigentümer und Zugriffsrechte korrekt (Zugriffsrechte sollten rwxr-xr-x sein).
ja die sind alle in ordnung
#! /usr/bin/perl -w
Stimmt der Pfad?
Falls ja, laß das Leerzeichen zwischen ! und / weg.
das bingt auch nichts ... das script ist so wie es ist auf dem selben server ja lauffähig ... halt nur in einem anderen "WEB"
( auf dem server sind mehrere domains ... meine auch und da läufts)
das bingt auch nichts ... das script ist so wie es ist auf dem selben server ja lauffähig ... halt nur in einem anderen "WEB"
( auf dem server sind mehrere domains ... meine auch und da läufts)
ist für das Verzeichnis, in dem das Script liegt, das Ausführen von CGI erlaubt?
Was steht im error.log?
ist für das Verzeichnis, in dem das Script liegt, das Ausführen von CGI erlaubt?
Ja das ist so ....
ScriptAlias /cgi-bin/ /usr/local/httpd/htdocs/kunden/web16/html/cgi-bin/
Was steht im error.log?
[Sun Aug 11 22:07:23 2002] [error] [client xxx.xxx.xxx.xxx] Premature end of script headers: /usr/local/httpd/htdocs/kunden/web
16/html/cgi-bin/test.pl
(siehe thema)
ist für das Verzeichnis, in dem das Script liegt, das Ausführen von CGI erlaubt?
Ja das ist so ....
ScriptAlias /cgi-bin/ /usr/local/httpd/htdocs/kunden/web16/html/cgi-bin/
gibt es für das Verzeichnis einen directory oder location-Eintrag?
Was steht dort bei den Options?
ist für das Verzeichnis, in dem das Script liegt, das Ausführen von CGI erlaubt?
Ja das ist so ....
ScriptAlias /cgi-bin/ /usr/local/httpd/htdocs/kunden/web16/html/cgi-bin/
gibt es für das Verzeichnis einen directory oder location-Eintrag?
Was steht dort bei den Options?
nein das is ein virtueller server der wie folg konf. ist:
<VirtualHost xxx.xxx.xxx.xxx>
ServerName www.server.de
ServerAlias www.server.com
DocumentRoot /usr/local/httpd/htdocs/kunden/web16/html
User web16
Group ftponly
ScriptAlias /cgi-bin/ /usr/local/httpd/htdocs/kunden/web16/html/cgi-bin/
php_admin_value open_basedir /usr/local/httpd/htdocs/kunden/web16
php_admin_value upload_tmp_dir /usr/local/httpd/htdocs/kunden/web16/phptmp
ErrorLog /usr/local/httpd/htdocs/kunden/web16/log/error_log
</VirtualHost>
gibt es für das Verzeichnis einen directory oder location-Eintrag?
Was steht dort bei den Options?
nachtrag:
<Location /cgi-bin>
AllowOverride None
Options +ExecCGI -Includes
SetHandler cgi-script
</Location>
ist als standart für virtuelle server ... also auch für meinen wo das script ja funktioniert
nachtrag:
<Location /cgi-bin>
AllowOverride None
Options +ExecCGI -Includes
Auf das wollte ich raus.
Was mir jetzt noch als letztes einfällt:
Aus Deinem anderen Posting:
ScriptAlias /cgi-bin/ /usr/local/httpd/htdocs/kunden/web16/html/cgi-bin/
und aus diesem:
<Location /cgi-bin>
Ich weiß, daß es bei Alias einen Unterschied macht, ob man den / am Ende setzt oder nicht.
Kann das auch hier das Problem sein?
Bei der Location ist keiner am Ende, beim ScriptAlias schon.
Andreas
nachtrag:
<Location /cgi-bin>
AllowOverride None
Options +ExecCGI -Includes
Auf das wollte ich raus.
Was mir jetzt noch als letztes einfällt:
Aus Deinem anderen Posting:
ScriptAlias /cgi-bin/ /usr/local/httpd/htdocs/kunden/web16/html/cgi-bin/
und aus diesem:
<Location /cgi-bin>
Ich weiß, daß es bei Alias einen Unterschied macht, ob man den / am Ende setzt oder nicht.
Kann das auch hier das Problem sein?
Bei der Location ist keiner am Ende, beim ScriptAlias schon.
das glaub ich nicht da bei meinem web die selben einstellung sind und da funktioniert es ... wie ich schon mehrmals gesagt habe ...
die einstellungen sind IDENTISCH
Hi,
welches auch bei mir funktioniert.
nicht aber in dem web von dem anderen obwohl alles
richtig gesetzt ist ..
hat jemand eine idee ?
nachdem die Webserverkonfiguration unschuldig zu sein
scheint und das Skript offensichtlich auch vom Perl-
Interpreter ausgeführt wird, halte ich einen Syntax-
fehler im Skript für den wahrscheinlichsten Schuldigen.
Deshalb meine Fragen:
1. Sind die Dateien in beiden Installationen gleich groß?
2. Wurde das Skript im ASCII-Modus auf den "anderen
Server" übertragen?
Perl mag nämlich keine plattformfremden Zeilenumbrüche:
http://aktuell.de.selfhtml.org/artikel/cgiperl/inbetriebnahme/#a5
Viele Grüße
Michael