Permission denied
Allgemeine Erklärung der Fehlermeldung selbst:
Fatal error: PHP warning in file /wcf/lib/system/io/File.class.php (35): fopen(/wcf/cache/cache.eventListener-48.php) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: Permission denied
Die Datei
/wcf/lib/system/io/File.class.php versucht auf die Datei
/wcf/cache/cache.eventListener-48.php zu zugreifen. Dies schlägt aber mit der Meldung "
Permission denied" (Zugriff verweigert) fehl.
Diese Fehlermeldung ist immer gleich aufgebaut:
- Erst kommt die Datei inkl. Zeilenangabe in der der Aufruf statt findet.
- Als nächstes wird der Pfad inkl. Dateinamen angegeben auf die die Datei zugreifen möchte. fopen steht in dem Fall für Öffnen (die Datei soll also gelesen werden).
- Zu guter Letzt kommt die Meldung was genau nicht stimmt. In diesem Fall "Permission denied" (Zugriff verweigert).
Wenn ihr so eine Meldung bekommt, braucht ihr nur nach dem genannten Schema schauen was bemängelt wird ("
Permission denied") und bei welcher Datei (In dem Fall:
cache.eventListener-48.php) dieser Mangel auftritt.
Lösung:
Loggt euch mit eurem
FTP Programm (Das ihr auch zum Hochladen der Installationsdateien benutzt habt) auf eurem Webspace ein. Wechselt in das Verzeichnis in dem die bemängelte Datei liegt. Markiert die Datei (anklicken) und macht dann einen Rechtsklick auf die Datei. Je nach FTP Programm kann man den
chmod (Datei/Ordner Berechtigung) meistens unter Eigenschaften/Attribute setzen. Gebt dort entweder 777 ein, oder setzt alle Haken. Solltet ihr die Einstellung dort nicht finden, dann hilft
google.de in dem Fall weiter. Einfach nach
filezilla chmod setzen bzw. eurem FTP Programm suchen lassen.
Generell brauchen
alle Dateien und Ordner von WBB und WCF
chmod 777. Einzige Ausnahme stellt die Datei
config.inc.php im wcf Verzeichnis dar, diese sollte auf
644 stehenbleiben, da in ihr die Zugangsdaten zur Datenbank stehen. Bei Webservern, bei denen PHP als
fastCGI läuft, kann der
chmod 777 nicht gesetzt werden. Dort reicht es in der Regel wenn man stattdessen
chmod 755 nimmt. Wenn ihr euch nicht sicher seid, dann versucht erstmal
chmod 777, wenn es zu einer Fehlermeldung kommt dann nehmt
chmod 755.