Script env.cgi funktioniert nicht
Björn
- perl
0 Struppi
0 Björn Weichel0 Struppi
Hallo,
ich habe mir die Datei env.cgi vom Arhiv der Internetseite perlunity.de heruntergeladen. Leider funktioniert dieses Script beim Aufruf nicht. Es kommt die Meldung:
500 Internal Server Error
Weiter heißt es noch:
The server encountered an internal error or
misconfiguration and was unable to complete
your request.
Sobald ich jedoch hinter die erste Zeile: #!/usr/bin/perl noch -w setze, funktioniert das Script ohne Probleme und gibt alles aus. Kann mir jemand sagen woran das liegt und wie ich das Script auch ohne -w aufrufen kann?
ich habe mir die Datei env.cgi vom Arhiv der Internetseite perlunity.de heruntergeladen. Leider funktioniert dieses Script beim Aufruf nicht. Es kommt die Meldung:
500 Internal Server Error
Weiter heißt es noch:
The server encountered an internal error or
misconfiguration and was unable to complete
your request.
D.h. du musst in den errorlogs nachschauen, welcher Fehler genau auftritt.
Sobald ich jedoch hinter die erste Zeile: #!/usr/bin/perl noch -w setze, funktioniert das Script ohne Probleme und gibt alles aus. Kann mir jemand sagen woran das liegt und wie ich das Script auch ohne -w aufrufen kann?
Du möchtest dir vielleicht die Warnungen und Fehlermeldungen im Browser anzeigen lassen.
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
Struppi.
Also ich habe nun noch das WarningToBrowser Dings aktiviert. Aber wirklich hilfreich ist es nicht... bei einem Script was eh schon nix macht kommt auch keine Fehlermeldung an den Browser...
Ich habe nun zwei wirklich identische Scripte, einfach kopiert, allerdings läuft das eine und das andere nicht. Beide habe die gleichen Rechte. Und das Script ist so simple das es eigentlich ohne wenn und aber laufen muss...
#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
use CGI qw(:standard);
use strict;
use warnings;
print "Content-type: text/html\n\n";
print header();
warningsToBrowser(1);
print "Hello World!";
Was soll ich noch mehr machen? Ich peile es einfach nicht... die error-log lasse ich überprüfen. kann ich leider mit meinen rechten nicht machen...
Also ich habe nun noch das WarningToBrowser Dings aktiviert. Aber wirklich hilfreich ist es nicht... bei einem Script was eh schon nix macht kommt auch keine Fehlermeldung an den Browser...
Nicht unbedingt, das was du Browser siehst kann druchaus eine Fehlermeldung des Browsers sein, da 500'er auf einen falschen oder fehlenden Header hinweisen kan.
#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
use CGI qw(:standard);use strict;
use warnings;print "Content-type: text/html\n\n";
Pack das mal in einen BEGIN {} Block, vielleicht siehst du dann mehr.
print header();
Das kannst du rausschmeissen, das macht fast das gleiche wie die print Anweisung oben.
Struppi.