WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   fehlermeldung bei perl script (http://www.wcm.at/forum/showthread.php?t=45994)

Nightman 11.02.2002 17:12

fehlermeldung bei perl script
 
hi

kan mir bitte wer sagen was diese meldung zu bedeuten hat?

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:


Can't locate settings.pl in @INC (@INC contains: E:/Perl/lib E:/Perl/site/lib .) at E:\Gästebuch\nightman\guestbook.pl line 36.

_m3 11.02.2002 23:35

Ist ein guter Webserver - sagt Dir eh alles, was Du wissen willst.

1. Perl sucht auf "E:/Perl/lib", "E:/Perl/site/lib" und im Verzeichnis wo das aktuelle Script liegt nach "include"-Files.
2. Es konnte in keinem dieser Verzeichnisse das File "settings.pl" finden, welches vom Script "E:\Gästebuch\nightman\guestbook.pl" in Zeile 36 eingebunden wird.

Jetzt klarer?

Nightman 12.02.2002 00:42

sers _m3

habe im file der richtigen pfad eingegeben und er findet es trotzdem ned

jetzt kommt halt das:

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:


Can't locate e:/gaestbuch/nightman/settings.pl at E:\Gaestebuch\nightman\guestbook.pl line 3.

oder

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:


Can't locate http://www.nightman.dyn.ee/gaestbuch...an/settings.pl in @INC (@INC contains: E:/Perl/lib E:/Perl/site/lib .) at E:\Gaestebuch\nightman\guestbook.pl line 3.

habe beide versionen versucht!!

und hier der pfad am server

http://www.nightman.dyn.ee/wcm/fehle...rzeichniss.gif

bitte hilf mir weiter

Sloter 12.02.2002 00:49

Setze settings.pl und guestbook.pl auf 755
aber sofort!!!!

Du gibst da eine Domain mit offenem perlscript bekannt :(

Sloter

Nightman 12.02.2002 01:06

sers sloter

ja das ist ja mein prob kann es irgentwie ned ändern alle versuche auf 755 zu ändern sind gescheitert :( oder bin ich zu dumm kann sein *heul*

was kann den passieren wenn es auf 777 bleibt?

und was kann jetzt der fehler sein?

_m3 12.02.2002 01:09

Zitat:

Original geschrieben von Nightman
habe im file der richtigen pfad eingegeben und er findet es trotzdem ned
...
Can't locate e:/gaestbuch/nightman/settings.pl at E:\Gaestebuch\nightman\guestbook.pl line 3.

Probiers mal mit "e:/gaestebuch/nightman/settings.pl" statt gaestbuch/.... ;)

Zitat:

[i]oder
...
Can't locate http://www.nightman.dyn.ee/gaestbuch...an/settings.pl in @INC (@INC contains: E:/Perl/lib E:/Perl/site/lib .) at E:\Gaestebuch\nightman\guestbook.pl line 3.[/b]
Perl ne PHP!!!
HTTP-Referenzen auf Include-Files funktionieren in Perl nicht.

Sloter 12.02.2002 01:13

777:
Na ja, ich kann die Datei von aussen bearbeiten (hat ja für jeden schreibrechte) und ich kann dir so ein eigenes Script unterjubeln was ganz schlimme Sachen kann :(

Hast du bei deinem FTP-Clienten nicht "chmod" zur Verfügung?
Nimm WS-FTP rechte Maustaste auf der datei und die Rechte ändern.

Sloter

Nightman 12.02.2002 01:22

hi

was meinst du damit?

Zitat:

Perl ne PHP!!!
HTTP-Referenzen auf Include-Files funktionieren in Perl nicht. [/b]
habe es geändert und nochmal versucht wieder gescheitert :(

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:


Can't locate http://www.nightman.dyn.ee/gaestebuc...an/settings.pl in @INC (@INC contains: E:/Perl/lib E:/Perl/site/lib .) at E:\Gaestebuch\nightman\guestbook.pl line 3.

PS: das eigenartige ist ja wenn ich das gästebuch unter www.nightman.dyn.ee/gästebuch habe funzt es!!

soll ich mal das script zum download online stellen?

_m3 12.02.2002 01:29

Perl ist nicht PHP!

Du kannst bei "use" und "require" nur Filenamen angeben, keine URLs.

Das Script zu posten wäre hilfreich.

Nightman 12.02.2002 01:33

hi

kann die rechte ned ändern

wenn ich auf speichern gehe und nochmal die rechte ändern gehe sind sie noch immer auf 777

kann es daran liegen das es ein win2000 server mit iis 5.0 webserver ist?


soll ich das originale oder mein script posten?

_m3 12.02.2002 07:10

Hi Nightman!

1. Solltest Du IMMER korrekte Links posten. Keiner der von die geposteten Links funktioniert. :(

2. Wenn, dann Dein Script.

3. Hast Du die Scripts eh im ASCII-Modus hinaufgeladen? Perl ist da etwas empfindlich. :rolleyes:

Philipp 12.02.2002 12:20

Also das man ChMod auf einen Windows 2000 Server machen kann ist mir neu :rolleyes:. Normalerweise kann man auch Dateien mit 777 von aussen nicht bearbeiten sondern nur von entsprechenden Scripts die am Server laufen :)

Aber zurück zu Nightman's Problem:

Am Anfang des Scripts ist ein require "settings.pl"; ?

Ändere das in:

use FindBin qw($Bin);
use lib "$Bin/../lib";
require "$Bin/settings.pl";

und lade das Script erneut hoch :)

Nightman 12.02.2002 18:24

jetzt geht es garnimma :(:(

hier mal das script zum downloaden:

das original Gästebuch Scipt

Mein Gästebuch Scipt

Philipp 12.02.2002 18:47

Hier funktioniert es :). Was für eine Fehlermeldung bekommst du?

Du musst hier den Pfad zu deinen Templates Verzeichnis angeben:

Code:

# relativer Pfad des Template Ordners
$template_dir = "./templates";

z.b. E:\Gaestebuch\nightman\templates

Ausserdem sollte diese Zeile in guestbook.pl gelöscht werden da das Gästebuch sonst kein File Locking verwendet:
if ($ENV{"OS"} =~ /Windows/gi) {$useflock = 0;}

Nightman 12.02.2002 19:26

na schau mal selbst

ich verzweifle schon :(

mein gästebuch was ned funzt :(

was das eigen artige daran ist wenn ich das gästebuch auf www.nightman.dyn.ee/gaestebuch hoste funzt es ja ohne prob

sobald es in einem unterordner ist geht es nimma

www.nightman.dyn.ee/gaestebuch ist ein alias vom server (fals es weiterhilft).

Philipp 13.02.2002 01:44

Merkwürdig. Normalerweise sollte es mit FindBin funktionieren :confused:

Eine weitere Möglichkeit:

eval {
($0 =~ m,(.*)/[^/]+,) && unshift (@INC, "$1");
($0 =~ m,(.*)\\[^\\]+,) && unshift (@INC, "$1");

require "settings.pl";
};


Ausserdem solltest du den Namen von passwd.txt/data.txt in passwd.pl/data.pl umbenennen da sonst jeder die Dateien öffnen kann.

_m3 13.02.2002 07:53

Die Settings.pl hast Du eh im
"gaestebuch/nightman/" Verzeichnis ?

Nightman 13.02.2002 12:43

hi leute

ich habe das jetzt geändert und jetzt findet er anscheinend die settings.pl, dafür kannn er mit der data.txt nix anfangen :(

Das Gästebuch

@_mp ja es liegen alle datein bis auf templates in einem ordner:

hier der beweis:
http://www.nightman.dyn.ee/wcm/fehle...rzeichniss.gif

Philipp 13.02.2002 13:27

Ändere in settings.pl:

# Name der Datenbankdatei
$data_file = "e:/Gaestebuch/nightman/data.pl";

# relativer Pfad des Template Ordners
$template_dir = "e:/Gaestebuch/nightman/templates";

Nightman 13.02.2002 20:06

thx

jetzt funzt es wo ich es auch liegen ahbe*g*

Nightman 15.02.2002 03:06

sorry leute wenn ich nerve aber habe den nächsten fehler entdeckt :(

wenn ich über adminmode das passwort ändere leg er die passwd.pl datei in e:/gästebuch ab statt in e:/gästebuch/nightman

sonst funzt es bis jetzt tadellos

großes lob an philipp!!!


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag