Portál AbcLinuxu, 18. května 2025 00:44

Dotaz: PHP - zobrazeni filesize a filemtime mimo /var/www/ nefunguje

Michnzee avatar 7.7.2012 12:37 Michnzee | skóre: 10 | Praha
PHP - zobrazeni filesize a filemtime mimo /var/www/ nefunguje
Přečteno: 387×
Odpovědět | Admin
Ahoj, mel bych takovy skromny dotaz - neb si myslim ze to bude jen nejaka malickost co jsem nekde prehlednul. Na ubuntu server 10.04 mi funguje klasicky LAMP. Je na nej presmerovana hlavni domena a nekolik subdomen. Vse se zobrazuje dobre, jediny problem nastava tehdy, kdyz chci pouzit php funkci filesize a filemtime na subdomenach.

Hlavni domena je smerovana klasicky na /var/www/ a dalsi subdomeny jsou pro konkretni uzivatele v jejich domacich slozkach, napr: /home/uzivatel/www/.

Kdyz pouziji funkce filesize a filemtime kdekoli v hlavni slozce /var/www/ - vse se zobrazi korektne. Kdyz pouziji tyto funkce mimo /var/www/ - napriklad na subdomenach, funkce filesize nevrati nic a filemtime vrati 1.1.1970.

Tusim, ze by to mohlo byt nekde v nastaveni apache2 (sites-enabled) nebo v nastaveni php.ini. Laboroval jsem s tim docela dlouho, ale neprisel jsem na to.

Predem dekuji :)
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

AraxoN avatar 7.7.2012 18:38 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: PHP - zobrazeni filesize a filemtime mimo /var/www/ nefunguje
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja by som podozrieval open_basedir, ale najistejšie je proste zapnúť zobrazovanie chýb error_reporting(...) a pozrieť si, akú chybu to vypíše.
Michnzee avatar 7.7.2012 23:08 Michnzee | skóre: 10 | Praha
Rozbalit Rozbalit vše Re: PHP - zobrazeni filesize a filemtime mimo /var/www/ nefunguje
Dekuji za tip. Tak jsem dohledaval konfigurace a podrobnosti a zas tak moudry z toho nejsem. Ale urcite jsem se posunul dal.

Chybova PHP hlaska pri vypisu:

Warning: filesize(): stat failed for soubor.docx in /home/store/www/inc/show.phtml on line 38 Warning: filemtime(): stat failed for soubor.docx in /home/store/www/inc/show.phtml on line 38 soubor.docx - bit - 01.01.1970 01:00:00

Z cehoz usuzuji, ze by mohl byt problem s pristupovymi pravy (ikdyz po nahrani souboru okamzite nastavuji prava souboru na chmod 777), popripade vlastnikem uploadnuteho souboru. Safe_mode mam vsak v php.ini vypnuty (takze by problem s pravy nemel byt az takovou prekazkou).

Premyslel jsem i nad zdrojovou cestou, protoze pri uploadu souboru do slozky /home/store/www/datastore/ musim uvadet celou tuto adresu. Kdyz jsem script zkousel na jinem hostingu, stacila relativni cesta (tj. ./datastore/ a vse fungovalo hned. Samozrejme vcetne zobrazeni data vytvoreni a velikosti nahraneho souboru.
AraxoN avatar 8.7.2012 00:11 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: PHP - zobrazeni filesize a filemtime mimo /var/www/ nefunguje
Nejde náhodou o 32-bitový systém? S PHP hláškou "stat failed" som sa už stretol, keď sa 32-bitové PHP snažilo snoriť po adresári s veľkými súbormi (nad 2GB).
Michnzee avatar 8.7.2012 01:31 Michnzee | skóre: 10 | Praha
Rozbalit Rozbalit vše Re: PHP - zobrazeni filesize a filemtime mimo /var/www/ nefunguje
Na 32-bitovém systému server opravdu běží, nicméně webové soubory jsou záležitostí kilobajtů :) a žádné jiné (objemné) soubory tam nejsou.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.