XAMPP für Window mit Perl: Datei kann nicht gefunden werden.

Alles, was Perl betrifft, kann hier besprochen werden.

XAMPP für Window mit Perl: Datei kann nicht gefunden werden.

Postby BeSt79 » 26. January 2006 13:44

HILFEEEE :cry:
Ich habe ein doofes Problem, das mich nun schon fast 2 Tage von der Arbeit abhält. Ich habe einen XAMPP-Webserver-Pack v1.5.1 für Windows installiert (auf einem Windows 2003 Server, der IIS ist deinstalliert). Dazu habe ich das Perl-Add-On v5.8.7 installiert.

Funktioniert alles eigentlich auch recht gut...bis auf folgendes:

Die Seite lief vorher auf einem Apache-Webserver von 1und1. Nun will ich sie auf unseren eigenen Serverübernehmen, aber es geht nicht.

Mit Perl will ich eine Datei öffnen und lesen oder an anderer Stelle neu anlegen (falls noch nicht vorhanden) oder überschreiben (falls vorhanden). Der Code ist folgender:

Code: Select all
my $kndnr = shift;
   my $filename="../activefiles/".$sec_abfrage[0];
   $filename .= ".dat";

   my %active;
   open ACTIVE, "< $filename" or goto LESENFERTIG;
   my $aktiveKnd = <ACTIVE>;
   my @lines = split /,/, $aktiveKnd;
   foreach (@lines)
   {
      $active{$_}="";
   }
   close ACTIVE;
   
   
   LESENFERTIG:
   if(exists($active{$kndnr}))
   {
         delete $active{$kndnr};
   }
   else
   {
      $active{$kndnr} = "";
   }
   
   my $temp = "";
   open ACTIVE, "> $filename" or die "Kann diese Datei nicht schreiben";
   foreach (keys %active)
   {
      $temp .= $_.","
   }
   print ACTIVE $temp;
   close ACTIVE;
};


Vorher auf dem alten Server hat alles problemlos geklappt, aber nun auf dem XAMPP springt er immer in die Ausnahme "Kann diese Datei nicht schreiben". Ich habe dann eine Prüfung eingebaut:

Code: Select all
if(-e $filename) {print "$filename existiert";}
if(!-e $filename) {print "$filename existiert nicht";}


und bekomme damit immer die Meldung "exisitiert nicht". Obwohl die Datei da ist. Auch die Schreibrechte in dem Verzeichnis "activefiles" habe ich extra auf "jeder - Vollzugriff" gesetzt (wobohl das ja eigentlichnicht nötig seindürfte!).

Woran kann das liegen?????

Brauche dringend hilfe.
Vielleicht sogar per eMail, wenn jemand einen Lösungsvorschlag hat. Das Projekt soll in Kürze wieder online gehen......

Vielen Dank für eure Mühe und Vorschläge,
Benni
BeSt79
 
Posts: 16
Joined: 26. January 2006 12:47

Postby Wiedmann » 26. January 2006 14:02

Mach am Anfang vom Script einen Verzeichniswechsel ins Scriptverzeichnis oder benutz absolute Pfade bei Dateizugriffen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby BeSt79 » 26. January 2006 14:11

Mit absoluten Pfaden funktioniert das tatsächlich.
Hat das irgendwelche nachteile, wenn ich die Seite später über Internet verfügbar mache???

Und noch etwas völlig offtopic: Kannst du mir, wenn du grad schon am schreiben bist, auch noch in ein paar kurzen Worten sagen, was ich alles ändern und einstellen muss, um den XAMPP so sicher zu machen, dass er als Internet-Webserver dienen kann?!?!?

Vielen Dank
BeSt79
 
Posts: 16
Joined: 26. January 2006 12:47


Return to Perl

Who is online

Users browsing this forum: No registered users and 32 guests