Frage

Ich versuche, ein einfaches Perl-Skript auf meinem Server auszuführen und ich bekomme einen internen 500-Server und wenn ich überprüfen Sie die Fehlerprotokolle es zeigt:

Premature end of script headers: test.pl

Hier ist der Perl-Skript:

#!/usr/bin/perl -w
print "Content-type: text/plain\n\n";
print "testing...\n";

Meine cgi-bin Ordner über Berechtigungen von 0755. Das Skript selbst ist auch 0755. Das Skript von Apache und seine in der Gruppe Apache gehört. Das Skript funktioniert gut über die Kommandozeile.

Was ist das Problem und wie kann ich dieses Problem beheben?!

Danke alle für jede Hilfe!

Update

interessant findet in suExec:

2010-09-14 17:38:28]: uid: (10001/som) gid: (2522/2522) cmd: test.pl
[2010-09-14 17:38:28]: target uid/gid (10001/2522 or 2521) mismatch with directory (48/0) or program (48/0)

Aber mein cgi-Ordner ist das gleiche wie das test.pl Skript - wird es in ein anderes Verzeichnis unter Bezugnahme

War es hilfreich?

Lösung

Es gibt viele gute Vorschläge zur Fehlerbehebung für Perl-Skripte zu geben, dass die Fehlermeldung auf PerlMonks: hier starten . Ich habe keine bestimmten Fehler in Ihrem Skript sehen, und es sieht aus wie Sie die Dateiberechtigungen behandelt haben, so dass ich mit den Apache-Konfigurationsvorschlägen beginnen würde.

Andere Tipps

Viele gute Ratschläge: Wie kann ich meine troubleshoot Perl-CGI-Skript .

Update hat Ihre suexec Fehlermeldung zu sehen: Sieht aus wie Ihr Server muss das CGI-Programm von demselben Benutzer wie das Verzeichnis, besessen werden. Versuchen Sie, den Besitz der Datei zu ändern.

Mit CGI-Modul z.

use CGI qw/:standard/;
$q = CGI->new;
print $q->header('text/html');
print "testing...\n";     
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top