Fopen($plik, "w") w trybie bezpiecznym

0

Skrypt:

<?php
$id = fopen("new.txt", "w");
fwrite($id, 'OK');
fclose($id);
?>

i bład który pokazuje sie w wyniku jego działania:

Warning: fopen(new.txt): failed to open stream: Permission denied in /***/xxx.php on line 10

Warning: fwrite(): supplied argument is not a valid stream resource in /***xxx.php on line 11

Warning: fclose(): supplied argument is not a valid stream resource in /***/xxx.php on line 12

Serwer pracuje w trybie bezpiecznym, co zrobić żeby Fopen z parametrem "w" działało, w manualu piszą że skrypt musi mieć taki sam UID jak pliki na których chcę operować... o co chodzi? Na linuxie sie nie znam więc proszę o odpowiedź zrozumiałą dla przeciątnego zjadacza chleba.

0

UID = user ID; właściciel plików musi być taki sam, jak właściciel wykonującego się procesu (proces = uruchomiony interpreter php).

0

UID = user ID; właściciel plików musi być taki sam, jak właściciel wykonującego się procesu (proces = uruchomiony interpreter php).

No ok - to o tyle jestem mądrzejszy... a jak sprawdzić z poziomu PHP jaki jest UID pliku/katalogu na którym chcę operować, oraz jak sprawdzić jaki jest UID wykonującego się prosesu (interpretera php...).. ni i na koniec co zrobić żeby obydwa były takie same??

0

zapewne musisz nadac odpowiednie prawa dla pliku oraz katalogu

0

Mam inny pomysł - sprawdź, czy w trybie normalnym (nie bezpiecznym), nie masz takiego samego problemu. Jeśli masz, to prawdopodobnie nie ustawiłeś praw bieżącego katalogu (rwx---rwx), a co za tym idzie i plikom (rw----rw- - "others" muszą mieć dostęp do plików, bo apache występuje właśnie jako others (grupa http, www itp.)).

1 użytkowników online, w tym zalogowanych: 0, gości: 1