Cau vsichni,
mam takovy zrejme banalni problem. V PHP mam napsanou funkci pro generovani nahledu k obrazkum do urciteho adresare, ale at nastavuji prava jak chci, porad dostavam nasledujici hlasku:
Warning: imagejpeg(): Unable to open './pics/thumb/obrazek.jpg' for writing in /var/www/web/contentgallery/functions.lib.php on line 50
poradite nekdo? dik za reakce
nemůže to otevřít soubor pics/thumb/obrazek.jpg
Mas tam opravdu /var/www/web/contentgallery/pics/thumb/obrazek.jpg ?
to vim taky:) prave proto sem pisu. Mam napsanou funkci pro generovani obrazku, ktera ma jako vstup nejakej soubor a generuje jeho nadhled do adesare /pics/thumb.
Pouzivam Apache/2.0.52 (na Linuxu). V httpd.conf mam nastaveny User a Group na apache, ale i kdyz zmenim vlastnika/skupinu adresare /thumb na apache a nastavim nejvyssi prava, PHP hlasi tuhle hlasku.
Problem asi bude v nastaveni apache. Nejspis se nekde musi nastavit pravo pro zapisovani do tohohle adresare a to je prave to co nevim. Jestli je to teda tak:)
Takze jeste jednou diky za reakce
petr: Jaky je ten vstupni adresar? /pics/thumb? Tou funkci se snazis otevrit /var/www/web/contentgallery/pics/thumb/. IMHO tam nema byt ta tecka na zacatku cesty, ta totiz znaci relativni cestu.
tecka je tam schvalne, jedna se o relativni cestu. cesta je spravne..
Pak muze byt mozna chybny obrazek...
Funkce vytvari obrazek (pomoci knihovny GD) v adresari ./pics/thumb/. Cesta je uvedena sprave a obrazek tam neexistuje, protoze je generovan az samotnou fci. Co by me zajimalo je jak by meli (a jak se nastavi) webserveru zapisovat prava do daneho adresare. V httpd.conf mam nastaveno User apache a Group apache, ale i kdyz zmenim rekurzivne adresari /pics/thumb usera/skupinu na apache:apache a nastavim vsechny prava, porad dostavam stejnou hlasku. Doufam ze uz jsem problem vysvetlil dostatecne. Diky moc za rady
v lin? Jestli jo, tak apache se projevuje jako uživatel apache a musí mít pro tuto funkci (v daném adresáři) právo zápisu. Jinak nezapíše.
no jasne. rikam, apache mam nastaveny aby se projevoval jako user apache ve skupine apache a i kdyz zmenim vlastnika a skupinu u adresare a nastavim nejvyssi prava tak stejne nic
co to je nejvyšší práva? Pokud má adresář, kam chceš zapisovat aspoň skupinu apache a je tam právo ?rw----, tak to musí chodit...
nejvyssi prava - tim jsem myslel nejvyssi mozna nastavitelna prava pro usera v linuxu. nevim proc, ale proste to nejde.
zkus sem hodit podrobný výpis "ls -l" toho adresáře, kam chceš zapisovat...
drwxrwxrwx 1 apache apache 4096 ... thumb
I kdyz dam prava, usera a skupina takhle (v httpd.conf mam User a Group oboji jako apache), nejde to. Stejne tak kdyz nastavim vlastnika na nobody.
Jedna se mi o fci imagepng(), imagejpeg(), atd.. z knihovny gd pro vytvoreni obrazku.
Varovani "Unable to open ..... for writing" hlasi tyhle fce kdyz jim davam napr. imagejpeg($novyobrazek, "/var/www/web/pics/thumb")
prava jsou na 777, vlastnik a skupina nobody, za jakykoliv usera vytvorim v adresari soubor, ale webserver porad hlasi stejne