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

Odpowiedz Nowy wątek
2003-11-16 22:32

Rejestracja: 17 lat temu

Ostatnio: 14 lat temu

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.


kociou

Pozostało 580 znaków

ŁF
2003-11-17 01:37
ŁF
Moderator

Rejestracja: 17 lat temu

Ostatnio: 9 godzin temu

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


Pozostało 580 znaków

2003-11-17 12:32

Rejestracja: 17 lat temu

Ostatnio: 14 lat temu

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??


kociou

Pozostało 580 znaków

2003-11-17 15:11

Rejestracja: 17 lat temu

Ostatnio: 10 lat temu

0

zapewne musisz nadac odpowiednie prawa dla pliku oraz katalogu

Pozostało 580 znaków

ŁF
2003-11-20 00:57
ŁF
Moderator

Rejestracja: 17 lat temu

Ostatnio: 9 godzin temu

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


Pozostało 580 znaków

Odpowiedz

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