Witam,
Mam dość pilny problem. Na moim serwerze wszystko działało, jednak po przeniesieniu strony na inny, mam problem z funkcją move_uploaded_file.
Katalog docelowy ma ustawione uprawnienia 777, funkcja is_writable zwraca wartość true, a jednak gdy skrypt próbuje przenieść tam plik, otrzymuję błędy o braku dostępu:
Warning: move_uploaded_file(../files/jakisplik.gif) [function.move-uploaded-file]: failed to open stream: Permission denied in E:\IPB\webhost\cośtam\public_html\admin\files.php on line 16
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS\Temp\php8E3A.tmp' to '../files/jakisplik.gif' in E:\IPB\webhost\cośtam\public_html\admin\files.php on line 16
Niestety nie udało mi się znaleźć rozwiązania problemu, toteż zwracam się tu o pomoc.
Z góry dzięki.
erix
14.08.2009, 11:06:47
- chmod pod Windows nie działa
- sprawdź uprawnienia NTFS dla procesu serwera
Roly
14.08.2009, 11:08:23
To ja mam jedno pytanko

Jakim cudem na Windowsie ustawiasz prawa do katalogów w sposób wykorzystywany w UNIX-ach??
Wiem, że nie działa chmod, nie wiem jak działa, nie korzystam z windowsa ani na swoim serwerze, ani na domowym komputerze. Spodziewam się jakiegoś odpowiednika, czyli po prostu pełnych uprawnień dla danego katalogu, 'chmod 777' użyłem z rozpędu. Przepraszam za zamieszanie.
Nie ja ustawiam, bo nie mam jak; ustawia ktoś odpowiedzialny za zajmowanie się serwerem w firmie, do której on należy. Prosiłem o pełne uprawnienia i ponoć takie dostałem; nic poza niedziałaniem funkcji move_uploaded_file nie mówi, że jest inaczej.
jmail
14.08.2009, 12:23:25
Ty może dostałeś. A proces na którym działa PHP?
Jak można to sprawdzić? O ile można?
Jak nie, po prostu będę pisał do obsługi serwera (i tak prawdopodobnie będę musiał), chociaż najpierw wolałbym wiedzieć, co potencjalnie może być nie tak.
erix
14.08.2009, 12:41:06
Właśnie to może być nie tak.

Że proces działa na innych uprawnieniach.
Ściągnij sobie port
whoami na Windows albo skrypt VBS sprawdzający usera i wykonaj przez
exec w PHP.
jmail
14.08.2009, 13:06:14
<?php
$objNetwork = new COM("WScript.NetWork");
echo $objNetwork->UserName;
?>
Masz
Ok, wielkie dzięki.
Problem rozwiązany (po kontakcie z osobą zajmującą się serwerem; nadal nie mam pewności, co dokładnie było nie tak).
Dzięki raz jeszcze.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.