natrafiłem na dość dziwny błąd, z którym nie mogę sobie poradzić.
Otóż w ostatnim czasie jednemu z użytkowników serwisu wyskoczył taki błąd podczas przeglądania podstron.
Kod
Warning: fopen(./includes/data/equipment/to_add/239.txt) [function.fopen]: failed to open stream: Permission denied in [xxx]/equipment.php on line 682
Są 2 wyjścia czemu taki błąd się pojawił - najczęstszy jest taki, że plik nie istnieje, lecz kod w tym fragmencie wygląda tak:
$filePath = './includes/data/equipment/to_add/'.$player -> id.'.txt'; $json = json_decode($json, true); // [...] }
Skoro if się wykonał znaczy że plik istniał, gdyż przeszedł przez file_exists();
Pozostaje więc 2 wyjście - nieodpowiednie uprawnienia plików - ale dlaczego?
Pliki w tym folderze są nadzorowane przez PHPa - sam je tworzy, edytuje, odczytuje etc. Folder w którym znajdują się te pliki ma uprawnienia 777.
Ponadto jest tam tych plików dużo dużo więcej i błąd pojawił się dotychczas jedynie 2 razy - co by znaczyło że 2 razy zawiodły uprawnienia?
Przy 1 wyjściu jest jeszcze ekstremalna teoria, że 2 skrypty zostały odpalone przez tego samego użytkownika tak ekstremalnie blisko siebie, że mogły same sobie zazgrzytać - ale to jest raczej niemożliwe.
Co może być powodem takiego dziwnego zachowania skryptu?
Z góry dziękuję za odpowiedź.