unable to exec cgi-script

Alles, was Perl betrifft, kann hier besprochen werden.

unable to exec cgi-script

Postby smasherino » 24. August 2004 11:09

Hi,

mein Server will meine CGI-Skripte nicht ausführen. Ich krieg immer folgende Fehlermeldung:

Server error!

The server encountered an internal error and was unable to complete your request.

Error message:
Premature end of script headers: first.pl

If you think this is a server error, please contact the webmaster.

Error 500

localhost
Tue Aug 24 12:03:36 2004
Apache/2.0.48 (Linux/SuSE)


Der Quelltext für das Perl-Skript stammt aus dem Apache2-Manual, ist also richtig. Außerdem hat er vorher schonmal funktioniert. Hat jemand ne Ahnung, was ich falsch gemacht habe?

Danke, smash
smasherino
 
Posts: 6
Joined: 17. August 2004 11:58

Postby smasherino » 24. August 2004 12:45

PS:
Vielleicht noch der Sourcecode der .pl datei:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World";

smasherino
 
Posts: 6
Joined: 17. August 2004 11:58

Postby Sosum » 11. October 2004 16:10

Hallo Smasherino,

läuft es inzwischen? Wenn nicht, dann überprüf mal die Dateiberechtigungen auf dem Webserver... Die Datei muss als "ausführbar" gekennzeichnet werden...

Bis dann,
aron
Sosum
 
Posts: 24
Joined: 08. September 2003 23:08

Postby Dummie » 15. December 2004 07:28

Hallo Sosum,

"Die Datei muss als "ausführbar" gekennzeichnet werden..."

Wie geht denn das??

Gruß Steffi
Dummie
 
Posts: 24
Joined: 14. December 2004 10:11
Location: bei Naumburg

Postby deepsurfer » 15. December 2004 16:07

Zwischenfrage, wie ist dein Webserver programmtechnisch aufgebaut ?

- Betriebssystem etc,.
(Bei windows..... ist PERL installiert bei dir ????, ohne gehts nicht
oder benutzt du XAMPP -- wenn ja welche version, hast du den XAMPP nach Anleitung installiert oder irgendwtwas herumeditiert)
(Bei Linux.... chmod ist das zauberwort für Dateirechte)


chirio
Deep
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Sosum » 20. December 2004 16:13

@Dummie:
Unter Windows braucht man das nicht zu tun. Auf Unix-basierenden Rechnern, also meistens auf Webservern geschieht das am öftensten mit Hilfe des FTP Programs. Meistens zu finden unter den Dateieigenschaften. Genaueres hängt leider vom verwendetem FTP Program ab. Auf einer UNIX Kommandozeile kann man dazu den Befehl CHMOD verwenden.

@deepsurfer
Also Deine Frage verstehe ich nicht so ganz. Ich gehe mal davon aus, dass du wissen möchtest, was ein Webserver genau so in der Regel tut.

Mit Vorbehalt und ohne Anspruch auf Vollständigkeit:
Ein Webserver ist letztendlich nur ein Programm, welches Dateien auf Anfrage sendet. Hierzu "lauscht" er an einem (festgelegten) Port, im Normalfall 80 auf irgendwelche Interessenten. Algorythmisch darstellt sieht er im Prinzip so aus:

1. Warte auf Anfrage A auf beliebigen, aber festgelegten Port.
2a. Wenn A keine Datei prüfe, ob für das Verzeichnis eine Standard-Datei versendet werden soll (wie zum Beispiel: index.html/ default.htm), oder ob der Inhalt des Verzeichnisses dargestellt werden soll.
2b. Wenn A nicht gefunden werden kann oder keine Zugriffsberechtigung besteht, sende Fehlerbericht.
2c. Wenn A gefunden werden kann und verfügbar ist,
2.1 Prüfe ob die Datei D Sonderbehandlung braucht.
2.2a Wenn für D weitere Verarbeitungshinweise angegeben sind (perl, php), starte das dafür vorgesehene Programm und leite dessen Ausgabe an den Anfrager, den Clienten, weiter.
( 2.2a.1 Verarbeitungsprogramm führt vom Webserver gegebene Programm aus, nimmt ggf. Verbindung zur Datenbank auf usw... )
2.2b Ansonsten sende D wie gefunden an den Clienten.
3. Gehe zu 1.

Das ist natürlich nur eine stark vereinfachte Beschreibung, Sachen wie Caching, Port-Forwarding usw. habe ich weggelassen, tangiert ja die prinzipielle Funktionsweise des Servers nich. Insbesonders beim Punkt 2.2a unterscheiden sich mesitens die Implementationen für den Windows (Zuordnung durch Dateiendung) -Unix (Dateiflag & Shebang-Zeile) Webserver. Der Punkt 2.2a.1 gehört nicht in den Algorythmus, da damit der Webserver nichts zu tun hat, ist daher in Klammern.

Grüße,
Aron
Sosum
 
Posts: 24
Joined: 08. September 2003 23:08

Postby deepsurfer » 20. December 2004 17:46

@deepsurfer
Also Deine Frage verstehe ich nicht so ganz. Ich gehe mal davon aus, dass du wissen möchtest, was ein Webserver genau so in der Regel tut.


Nope....meinte eher wie dein System aufgebaut ist worauf LAMPP aingebunden wurde..

Den text den ich geschrieben hatte war, nach nochmaligem lesen des Threads, etwas voreilig verfasst.

Vergiss daher meine frage (ich weiss wie server funktionieren)

Thema Eröffnungstext:

ERROR 500 deutet in erster linie auf einen berechtigungsfehler hin, in den meisten fällen wurde das Script nicht lauffähig gemacht - CHMOD 755 -

Mein gegencheck ob der "AddHandler cgi-script .cgi .pl"
etwas damit zutun hat, ist nicht nachvollziehbar, denn dein Script wird sowohl mit .pl als auch ohne .pl (im AddHandler) ausgeführt.

Daher bleibt nur der CHMOD als Fehlerquelle ürbig.....

chirio
Deep
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian


Return to Perl

Who is online

Users browsing this forum: No registered users and 4 guests