Je rozdíl mezi localhostem a ostrým serverem při dowloadu souboru?
- worsik
- Člen | 40
Ahoj, mám problém, který nechápu.
Na lokálním serveru mi vše funguje jak má, ale na ostrém serveru se vyhodí vyjímka.
Jde o tuto záležitost.
Automaticky vygeneruju soubor, který nabídnu ke stažení/zobrazení.
Děje se to přes URL
"?fileName=export.ini&dir=export&action=download"
kde actionDownload je definovaná v BasePresenteru, odkud dědí všechny presentery a vypadá takto:
V presenteru, ve kterém generuji soubor pak volám
Nechápu, kde je problém, protože aplikace nedojde ani k funkci actionDownload a zahlásí, že stránka neexistuje, přičemž stejný kód na lokálním serveru funguje…
Lokál: WinXP + WAMP, PHP 5.3.0
Ostrý: Debian Lenny, PHP 5.3.2–0.dotdeb.2
Edit:
Ještě bych měl dodat, že se soubor vždy vygeneruje a to na obou strojích,
jen nedojde k akci Download. Je problém ve volání redirectu?
Editoval worsik (7. 6. 2010 10:15)
- h4kuna
- Backer | 740
- rekl bych ze toto neni dobre reseni do url davat cestu k souboru pac mu muzes podstrcit neco jineho (pak uz zalezi jak jsou nastaveny prava na serveru)
- jmeno souboru ano, ale nekde mej ulozenou cestu k souboru, pokud mas vsechny v jedne slozce tak v poho, jinak… (vyresit)
- nebo kontroluj cestu zda je v ramci document_root
- to presmerovani tezko rict si pust routing debugger a mrkni ktera roura to chyta a kam to putuje dal
- worsik
- Člen | 40
matata napsal(a):
- rekl bych ze toto neni dobre reseni do url davat cestu k souboru pac mu muzes podstrcit neco jineho (pak uz zalezi jak jsou nastaveny prava na serveru)
- jmeno souboru ano, ale nekde mej ulozenou cestu k souboru, pokud mas vsechny v jedne slozce tak v poho, jinak… (vyresit)
- nebo kontroluj cestu zda je v ramci document_root
- to presmerovani tezko rict si pust routing debugger a mrkni ktera roura to chyta a kam to putuje dal
ad 1) Cestu k souborům mám definovanou v config.ini, pouze v tom
adresáři mám ještě složku pro export, pak tedy rozlišuju, jestli jde do
složky nebo nejde. Podstrčit cestu tedy můžu, ale na té cestě nic nebude
:o)
Práva na serveru mám kompletní, nastavení chmod 777
ad 3) složka se soubory je mimo document_root, tedy mimo dosah uživatelů
ad 4) bohužel routing debugger mi hlásí, ale stránka chcípne dříve a debugger se nezobrazí :o(
Díky za rady, musím vyzkoušet něco jiného.
- worsik
- Člen | 40
Tak celý den pátrám, kde může být chyba a jediné co jsem našel je tohle:
Pokud metoda obsahuje
, pak redirect na ni selže.
Tuto metodu jsem převzal z tohoto fóra s mírnou úpravou a na lokálu mi bezvadně fungoval
Pls, už mám pocit, že jsem se koukal všude, co bych měl zkontrolovat v nastavení serveru?
- Honza Kuchař
- Člen | 1662
Nemusíš se s tím mastit ručně, na špinavou práci je tu FileDownloader z doplňků.