Thread Seit Apache Update Perl-Problem
(5 answers)
Opened by prentice at 2019-05-05 20:08
Herzlich willkommen im Forum,
wichtig, gerade beim Schreiben von Dateien, ist es, den Erfolg zu überprüfen und auch die Meldung im Fehlerfall auszugeben. z.B.: Code (perl): (dl
)
1 2 3 4 5 open( my $handle, '>', $file ) or die "open($file,w) failed: $!"; print $handle "Dein Text" or die "print to $file failed: $!"; close $handle or die "close $file failed: $!"; Wenn Du Dir $! nicht ausgeben lässt, ist es blindes Raten, was die Ursache sein könnte. Spar Dir diese Mühe und lass $! ausgeben. Kontrolliere das Error-Log des Webservers, was darin im Fehlerfall steht. Ich vermute mal, Du hast ein Berechtigungsproblem: Mögliche Ursachen: 1. Schreib-/Lese-Berechtigungen 2. Webserver läuft mit anderer Benutzerkennung und hat (aufgrund 1.) kein Recht, Dateien im Verzeichnis anzulegen. In der Regel sollte ein Webserver mit so wenig Rechten wie möglich laufen. Bei manchen Distributionen ist das der Benutzer "nobody", bei anderen ein Benutzer "www-run". Wenn dieser Benutzer Dateien in Verzeichnissen schreiben soll, muss er dafür die Berechtigung haben. Entweder, weil ihm das Verzeichnis gehört (z.B. chown "nobody" $verzeichnis) oder weil der Besitzer ihm die notwendigen Rechte eingeräumt hat. Das kann man machen, indem man beispielsweise die Gruppenberechtigung so setzt, dass der Webserver-Benutzer schreiben darf oder man erlaubt "allen anderen" das Schreiben in den Ordner. Code: (dl
)
1 # Sagen wir, dem Benutzer "helmut" gehört die Verzeichnis-Struktur unter /var/www/example.org Den veralteten Softwarestand (Wirklich CentOS 6.1? Perl 5.8.8) ignorieren wir mal. Das wäre ein eigenes Fass, was man da aufmachen müsste und hier nicht behandelt werden kann. Aber das nur als Hinweis... edit: Tippfehler korrigiert Last edited: 2019-05-06 14:29:59 +0200 (CEST) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |