Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> po aktualizacji problem z funkcją copy, po aktualizacji problem z funkcją [function.copy] Unable to access
exen
post 27.01.2009, 22:37:05
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.01.2009
Skąd: Gliwice

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


Witam!

Powiem szczerze, że zgłupiałem lekko, więć postanowiłem poprosić o pomoc. Męczę temat od dwóch dni i nic.
Zaktualizowałem php do najnowszej wersji 5.2.8 i wszystko działa ładnie, prócz kilku funkcji kopiujących pliki.

Głównie chodzi o funkcję copy() - od tego się zaczęło.
Kod
                 #włączam wyświetlanie wszelkich komunikatów o błędach
                 ini_set( 'display_errors', 'On' );
                 ini_set('error_reporting', E_ALL);
                
              
                 $url='http://www.voxim.pl/gfx/news/inne/tomtom_go700.jpg';
                 $katalog="/tmp2";
                 $name=$katalog."/test.jpg";
                
                 if (copy("$url", "$name")) {
                 @chmod($name, 0664);
                 print 'Plik został dodany.'; echo $name;
                 } else {
                     print 'Nie można było dodać pliku.';
                     echo "-br-".$url;
                     echo "-br-".$name;
                 }


No i do niedawna tym powyższym prostym skryptem pobierałem sobie z wybranego miejsca zdjęcia i wrzucałem do określonego katalogu.
Po aktualizacji php ten sam skrypt generuje błąd:
Cytat

Warning: copy() [function.copy]: Unable to access http://www.voxim.pl/gfx/news/inne/tomtom_go700.jpg in /home/....../test.php on line 10
Nie mo¿na by³o dodaæ pliku.
http://www.voxim.pl/gfx/news/inne/tomtom_go700.jpg
/tmp2/test.jpg

I teraz tak:
- plik php ma prawa -rw-rw-rw- 1 daemon daemon
- katalog /tmp2 drwxrwxrwx 2 daemon daemon

Na moje oko uprawnienia ok, nic się nie zmieniło zresztą w tej kwestii po upgradzie php.
Szukałem rozwiązań w goglach itp. Niestety w większości sprawa sprowadza się do upranień. Próbowałem nic z tego.
Znalazłem też informację i wykorzystaniu funkcji move_uploaded_file(). Ta funkcja również nie działą (jakby była pomijana) i nie generuje żadnych błędów.

Pomocy!

Pozdrawiam,
Robert

Ten post edytował exen 27.01.2009, 22:39:04


--------------------
Pozdrawiam,
Robert
Go to the top of the page
+Quote Post
blooregard
post 27.01.2009, 23:30:38
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Spróbuj z php.ini.
Nie wiem, czy to może mieć jakiś związek konkretnie z funkcją copy() (raczej z uploadem plików), ale podejrzyj, jak są ustawione dyrektywy file_upload i upload_max_filesize.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
exen
post 28.01.2009, 23:04:18
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.01.2009
Skąd: Gliwice

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


Cytat(blooregard @ 27.01.2009, 23:30:38 ) *
Spróbuj z php.ini.
Nie wiem, czy to może mieć jakiś związek konkretnie z funkcją copy() (raczej z uploadem plików), ale podejrzyj, jak są ustawione dyrektywy file_upload i upload_max_filesize.


Dzięki za odpowiedź!
Tu jest ok, tak mam ustawione:
file_upload = on
upload_max_filesize =4M

Natomiast jak wyłączam safe_mode to działa mi ta funkcja i nie mam błędów.
Jak dotąd było to dla mnie jasne, że przy safe_mode na ON funkcja copy() sprawdza ownera pobieranego pliku i katalogu w miejscu docelowym.
Owner Apache jak i katalogu docelowego to 'daemon'. Na moje oko wszystko się zgadza, lecz nie działa.

Zapodam jeszcze ustawienia php.ini dotyczące SAFE_MODE:

  1. <?php
  2. safe_mode = On
  3. safe_mode_gid = Off
  4. safe_mode_include_dir = "/tmp2"
  5. safe_mode_exec_dir =
  6. safe_mode_allowed_env_vars = PHP_
  7. safe_mode_protected_env_vars = LD_LIBRARY_PATH
  8. open_basedir = "/tmp2"
  9. disable_functions = system, exec, passthru, popen, phpinfo, shell_exec
  10. disable_classes =
  11. expose_php = Off
  12. ?>


sciana.gif

Zgłosił już ktoś podobny bug do php.net

http://bugs.php.net/bug.php?id=46888&thanks=6

Zastosuje tego patcha i zobaczę co z tego będzie. Powinno pomóc.


--------------------
Pozdrawiam,
Robert
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 14:27