500 Internal Server Error

Alles, was Perl betrifft, kann hier besprochen werden.

500 Internal Server Error

Postby horstschulz » 29. August 2007 17:25

unter Linux suse10.1 habe ich xampp Vers.- 1.6.3b laufen.
Keine Änderungen an der Configuration vorgenommen.
Alle Anwendungen von der Startseite, wenn localhost aufgerufen wurde, sind OK.
Aber so ein einfaches Programm, unterhalb von Verzeichnis htdocs, funzt bei mir nicht!

#!/usr/bin/perl
#
# This script dumps the environment variables in HTML format
#
use cgi;
use strict;
use warnings;
$|=1;

print "Content-type:text/html\n\n";
print "<table border=1>";
foreach my $var (sort keys %ENV)
{
print "<tr><td bgcolor=\"\#efefef\">".$var . "</td><td bgcolor=\"\#c0c0c0\">" . $ENV{$var} . "</td></tr>\n";
}
print "<\/table border=1> <\/tr>";


Rufe ich es mit //https: ............... auf bekomme ich einen leeren Bildschirm,
rufe ich es mit //http; ........... auf komt die folgende Fehlermeldung.

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
you@example.com and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
<hr>
<address>Apache/2.2.4 (Unix) DAV/2 mod_ssl/2.2.4 OpenSSL/0.9.8e PHP/5.2.3 mod_apreq2-20051231/2.5.7 mod_perl/2.0.2 Perl/v5.8.7 Server at localhost Port 80</address>
</body></html>

Was mache ich falsch, oder habe ich noch was zu konfigurieren?
Die Suchfunktion im Forum habe ich benutzt, aber nichts gefunden was mir weiterhilft
ich hasse Streß
Horst
horstschulz
 
Posts: 71
Joined: 29. December 2002 11:38
Location: Stade

Re: 500 Internal Server Error

Postby ManUnix » 01. September 2007 18:21

Hi horstschulz,

normalerweise findest Du in den Log-Files ("/opt/lampp/logs/error_log") den Grund, warum das Skript nicht funktioniert.

- Rechte sind nicht ausreichend gesetzt
- Fehler im Skript
- ...

cu,
Manu
User avatar
ManUnix
 
Posts: 113
Joined: 16. April 2006 15:14

Postby horstschulz » 01. September 2007 18:51

stimmt!

127.0.0.1 - - [01/Sep/2007:09:02:50 +0200] "GET /test/env.pl HTTP/1.1" 500 705


die Rechte:

-rwxr-xr-x 1 horst users 428 2007-09-01 09:02 env.pl


Hilft mir aber irgend wie nicht weiter!
ich hasse Streß
Horst
horstschulz
 
Posts: 71
Joined: 29. December 2002 11:38
Location: Stade

Postby ManUnix » 01. September 2007 18:56

horstschulz wrote:127.0.0.1 - - [01/Sep/2007:09:02:50 +0200] "GET /test/env.pl HTTP/1.1" 500 705

ist das das error_log?
Schaut mir eher aus wie das access_log.

horstschulz wrote:die Rechte:

stimmen soweit.
User avatar
ManUnix
 
Posts: 113
Joined: 16. April 2006 15:14

Postby horstschulz » 01. September 2007 19:01

mist, stimmt!

hier:
Code: Select all
[Sat Sep 01 09:02:38 2007] [error] [client 127.0.0.1] Premature end of script headers: env.pl
[Sat Sep 01 09:02:50 2007] [error] [client 127.0.0.1] (13)Permission denied: exec of '/opt/lampp/htdocs/test/env.pl' failed
[Sat Sep 01 09:02:50 2007] [error] [client 127.0.0.1] Premature end of script headers: env.pl
[Sat Sep 01 09:03:02 2007] [error] [client 127.0.0.1] (13)Permission denied: exec of '/opt/lampp/htdocs/test/env.pl' failed[quote]

[/quote]
ich hasse Streß
Horst
horstschulz
 
Posts: 71
Joined: 29. December 2002 11:38
Location: Stade

Postby ManUnix » 01. September 2007 19:16

schonmal versucht das Skript im cgi-bin-Verzeichnis auszuführen?
User avatar
ManUnix
 
Posts: 113
Joined: 16. April 2006 15:14

Postby horstschulz » 02. September 2007 08:26

nein,
aber das Script läuft z. B. unter Win Apache und bei meinem Hoster im Internet einwandfrei.

Hört sich auch irgendwie nach "Kaffeesatz lesen" an.

Lampp hat eine (sinnvolle) Verzeichnisstruktur, und unter htdocs sollen eigene Scripts laufen.

ich kann mich auch erinnern, das es mal eine Version gab, da mußte eine *.conf angepasst werden!?

Eine andere Vermutung, wenn ich die Seiten aufrufe, geschied das unter lampp/Passwort, aber die Rechte sind unter User/Horst vergeben. Liegt evtl. hier das Prob.?
ich hasse Streß
Horst
horstschulz
 
Posts: 71
Joined: 29. December 2002 11:38
Location: Stade

Postby ManUnix » 02. September 2007 14:55

Hi horstschulz,

ich hab' mir jetzt doch mal wieder eine XAMPP Umgebung eingerichtet, weil die andere ist mir vor paar Tagen abgeraucht...

Code: Select all
Ordner-Rechte: drwxr-xr-x 2 manu   users  4096 Sep  2 15:51 test
Datei-Rechte: -rwxr-xr-x 1 manu users 381 Sep  2 15:49 env.pl

im Skript selber habe ich die Zeile 5 ("use cgi;") rausgeschmissen.

Und das läuft bei mir.

cu,
Manu
User avatar
ManUnix
 
Posts: 113
Joined: 16. April 2006 15:14

Postby horstschulz » 02. September 2007 18:32

ist bei mir absolut identisch!

aus dem Verzeichnis lazfen ja auch ohne Probs. php-Scripte.
das muß mit Sicherheit an das httpd.conf - Script liegen
ich hasse Streß
Horst
horstschulz
 
Posts: 71
Joined: 29. December 2002 11:38
Location: Stade

Postby ManUnix » 02. September 2007 19:11

horstschulz wrote:das muß mit Sicherheit an das httpd.conf - Script liegen

wenn Du sagst, Du hast daran nichts geändert, dann greifen bei uns die gleichen Einstellungen.

Läuft das Skript in der Konsole / Shell?

Code: Select all
perl env.pl
User avatar
ManUnix
 
Posts: 113
Joined: 16. April 2006 15:14

Postby horstschulz » 03. September 2007 18:41

ManUnix wrote:
horstschulz wrote:das muß mit Sicherheit an das httpd.conf - Script liegen

wenn Du sagst, Du hast daran nichts geändert, dann greifen bei uns die gleichen Einstellungen.

Läuft das Skript in der Konsole / Shell?

Code: Select all
perl env.pl


Ja, unter root und auch unter user!

Aber was bedeutet das?
ich hasse Streß
Horst
horstschulz
 
Posts: 71
Joined: 29. December 2002 11:38
Location: Stade

Postby ManUnix » 03. September 2007 19:03

horstschulz wrote:Aber was bedeutet das?

Perl funktioniert. ;)

geht ein einfaches "Hello World"-Skript?
Code: Select all
#!/usr/bin/perl -W

use strict;
use CGI::Carp qw(fatalsToBrowser);

my $Text = "Hallo Welt";

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Hallo Welt</title></head><body>\n";
print "<h1>$Text</h1>\n";
print "</body></html>\n";

wenn nicht: kommt dann auch die "Permission denied"-Fehlermeldung?

Funktioniert das Beispiel-Skript (printenv) im "/opt/lampp/cgi-bin"-Verzeichnis?

Wenn ja, funktioniert Dein Skript, wenn Du es dorthin kopierst und dort ausführst?
User avatar
ManUnix
 
Posts: 113
Joined: 16. April 2006 15:14

Postby horstschulz » 03. September 2007 19:43

mitgelieferte Scripts werden ausgeführt.
meine *.pl und *.cgi Scripts im Unterverzeichnis von htdocs werden im Browser nicht ausgeführt.

Da ich bis jetzt nichts verwertbarse habe, werde ich lampp deinstallieren und danch wieder neu aufsetzen.

Eventuell sind bei meiner Linuxinstallation auch Fragmente von Apache Perl & Co mitinstalliert worden, die zusammen mit Lampp ein Chaos verursachen. das werde ich noch prüfen.

bsi später,
ich hasse Streß
Horst
horstschulz
 
Posts: 71
Joined: 29. December 2002 11:38
Location: Stade


Return to Perl

Who is online

Users browsing this forum: No registered users and 2 guests