Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Safe Mode - jak obejść?, tworzenie plików w folderach utworzonych przez skrypt
WebCM
post
Post #1





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


Po wgraniu plików na serwer przez FTP układ katalogów jest następujący:

cache (0 folderów, 1 plik)
cfg (0 folderów, kilka plików)

Admin nadaje im uprawnienia: 777, a plikom wewnątrz - 666

Następnie odpala instalator. Skrypt tworzy w katalogu cache następne foldery:

default
install


Teraz instalator (kompilator szablonów) próbuje umieścić w nich pliki:

body.html
form.html


Z niepowodzeniem. Wyskakuje błąd:
Cytat
Warning: file_put_contents() [function.file-put-contents]: SAFE MODE Restriction in effect. The script whose uid is 10012 is not allowed to access [ciach!]cache/default owned by uid 1000 in [ciach!]compiler.php on line 173

Z komunikatu wnioskuję, że użytkownik, na którym działa skrypt, ma UID = 10012, a folder - 1000.

Przecież to skrypt stworzył ten folder!

Co robić, aby skrypt był zgodny z SAFE MODE?

Na wielu serwerach jest safe_mode, ale nie na wszystkich występują takie dziwne problemy (tu: darmowy pdg.pl)

Znam rozwiązanie: tworzyć wszystkie katalogi za pomocą FTP, nadać im 777, a dopiero pozwolić skryptom ładować tam swoje pliki. Sposób nie satysfakcjonuje mnie do końca.

Jak obejść SAFE MODE, aby skrypty mogły tworzyć pliki w folderach?

Ten post edytował WebCM 21.03.2010, 18:13:12
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Automatyczne tworzenie plików poprzez funkcje typu fopen czy file_put.. podlega ograniczeniom. Spróbuj do utworzenia pliku użyć funkcji:
http://pl.php.net/manual/pl/function.touch.php

Wszystko wskazuje też na to, że serwer jest źle skonfigurowany (w safe mode nie wiem po co sprawdzane jest, czy właścicielem uruchamianego skryptu lub pliku, do którego funkcja chce uzyskać dostęp, jest ten sam użytkownik).

Spróbuj także nadać chmody folderom (poprzez php oczywiście) a przed każdą akcją sprawdzać, czy mamy odpowiednie uprawnienia.
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: 10.10.2025 - 10:52