Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP && Permissions, ...czyli chmod'y w PHPie
Skie
post
Post #1





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

Ostrzeżenie: (0%)
-----


Witam,
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:

  1. $filePath = './includes/data/equipment/to_add/'.$player -> id.'.txt';
  2. if (file_exists($filePath) && ($filesize = filesize($filePath)) > 0) {
  3. $file = fopen($filePath, 'a+');
  4. $json = fread($file, $filesize);
  5. $json = json_decode($json, true);
  6. $countJSON = count($json);
  7. fclose($file);
  8.  
  9. // [...]
  10. }


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ź.

Ten post edytował Skie 11.08.2010, 11:48:16
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 13:37