pár dotazů k config
- crempa
- Člen | 198
Zdravim,
precetl jsem dokumentaci, ale i tak mam v tomhle smeru par dotazu, pokud me to
nekdo pomuze ujasnit milerad to pak doplnim i do dokumentace.. :)
Predne by me zajimalo co je presne mysleno onou „aplikaci“ nastaveni narozdil od jeho pouheho nacteni, resp. co vsechno se „aplikuje“, z manualu jsem pochopil ze jsou to hodnoty konstant a nektera z moznych nastaveni PHP
- je nekde receno co vsechno lze takhle pres set.* nastavit?
- pomoci variable.* se nastavuji jen nejake specialni promenne pouzite nekde dal, ci obecne jakakoli promenna a ta je pak dostupna, nebo to jsou promenne jen v ramci konfigu samotneho?
- pomoci database.* lze nejak primo nastavit prihlasovaci udaje, nazev databaze apod. pro dibi s tim ze pokud nekde vyvolam connection tak se dana nastaveni automaticky pouziji, nebo je to jen pomucka, ale stejne pak budu v ramci pripojeni zadavat rucne tyto config klice?
- v ramci ukazkoveho *.ini je pouzit i konstrukt
[production < common]
, neni me presne jasne zda to production oznacuje novy nazev prostredi s tim ze<
predstavuje neco jako zdedeni nastaveni pouziteho u common ci jaky to ma presne vyznam ? - pod rezimem prostredi si predstavuji pouze identifikator ktery muzu
libovolne v aplikaci cist a ridit tim procesy spojene s tim a tim prostredim,
v manualu se pise ze ho lze nastavit i v ramci configu, ale uz tam neni
uvedeno jak na to, hadam set.mode ci je to snad ono
[production < common
] ? - na jakem principu funguje zminovana autodetekce, je to tak ze pokud si
vytvorim nazev prostredi
[debug]
a to pouziji tak me iEnvironment::isDebugging()
bude vracet true a stejne tak u dalsich modu? Jaky je defaultni rezim prostredi? - ma rezim (resp. ony tri zakladni rezimy) prostredi nejaky vliv i na dalsi casti nette krome ladenky?
- mozna by hodne pomohlo dat do dokumentace k prikladu 5ti prostredi co je na konci i ukazkovy config.ini co dane nastaveni resi pro ten pripad..
Diky kazdemu kdo me pomuze alespon s casti mych dotazu
- ViliamKopecky
- Nette hipster | 230
Alespoň něco snad dokážu zodpovědět…
- pomoci variable.* se nastavuji jen nejake specialni promenne pouzite nekde dal, ci obecne jakakoli promenna a ta je pak dostupna, nebo to jsou promenne jen v ramci konfigu samotneho?
Obecně jakákoliv proměnná. Později přístupná přes Environment::getVariable(…);
- pomoci database.* lze nejak primo nastavit prihlasovaci udaje, nazev databaze apod. pro dibi s tim ze pokud nekde vyvolam connection tak se dana nastaveni automaticky pouziji, nebo je to jen pomucka, ale stejne pak budu v ramci pripojeni zadavat rucne tyto config klice?
database je jenom pojmenování konfigurace (můžeš si to pojmenovat db, mojedatabaze,…), dibi připojíš jako dibi::connect(Environment::getConfig(‚database‘))
- v ramci ukazkoveho *.ini je pouzit i konstrukt
[production < common]
, neni me presne jasne zda to production oznacuje novy nazev prostredi s tim ze<
predstavuje neco jako zdedeni nastaveni pouziteho u common ci jaky to ma presne vyznam ?
Ano, představuje to zdědění a jsou to právě ty názvy prostředí. Význam je v tom, že na produkčním máš například jiné přístupové údaje k databázi než na vývojovém prostředí
- pod rezimem prostredi si predstavuji pouze identifikator ktery muzu libovolne v aplikaci cist a ridit tim procesy spojene s tim a tim prostredim, v manualu se pise ze ho lze nastavit i v ramci configu, ale uz tam neni uvedeno jak na to, hadam set.mode ci je to snad ono
[production < common
] ?
Ano, tak
- na jakem principu funguje zminovana autodetekce, je to tak ze pokud si vytvorim nazev prostredi
[debug]
a to pouziji tak me iEnvironment::isDebugging()
bude vracet true a stejne tak u dalsich modu? Jaky je defaultni rezim prostredi?
Nette se myslím orientuje podle IP adresy serveru, pokud je localhostová (tuším 127.0.0.1), pak spouští prostředí Environment::DEVELOPMENT, jinak Environment::PRODUCTION
- LM
- Člen | 206
- je nekde receno co vsechno lze takhle pres set.* nastavit?
Cokoliv co lze nastavit pomocí funkce ini_set
, ale
u některých voleb třeba u include_path
se použije metoda
k tomu určená: set_include_path
.
Ještě k té detekci není to jen localhost, ale jakákoliv lokální IP adresa třeba 192.168.…
- crempa
- Člen | 198
Diky moc panove,
jeste k te autodetekci, je nekde k nalezeni jak presne to funguje? S nette zacinam a zatim sem to ve zdrojacich nenasel.. nejak me neni jasny jak to muze fungovat s IP serveru, pochopil bych IP ze ktere prisel pozadavek.. jak se pak resi treba takovej NAT..? jsou to tedy obecne adresy dle RFC 1918 ? – huh asi sem uz velkej stoural, ale nemam rad kdyz se neco dela za me a ja presne nevim jak se to dela :-)
Jinak predpokladam ze tu autodetekci lze „pretizit“ pevnym nastavenim (to je asi mysleno v dokumentaci tou rucni aktivaci v priklade na konci)
- David Grudl
- Nette Core | 8218
crempa napsal(a):
Jinak predpokladam ze tu autodetekci lze „pretizit“ pevnym nastavenim (to je asi mysleno v dokumentaci tou rucni aktivaci v priklade na konci)
Ano, změnou tzv. režimu production
. A to buď přímo
v config.ini nastavením mode.production = TRUE
nebo
FALSE
, nebo příkazem
Environment::setMode('production', TRUE)
(či
FALSE
).
(režim se ještě nedávno jmenoval live
, ale dal jsem za
pravdu uživatelům, kteří navrhovali změnit jej na
production
– pokud máte starší verzi, může tam být
původní název)
- David Grudl
- Nette Core | 8218
Jod napsal(a):
Mne napríklad autodetekcia nefunguje, ktovie prečo
Autodetekce se provádí podle proměnné
$_SERVER['SERVER_ADDR']
. Jakou má hodnotu?
- David Grudl
- Nette Core | 8218
…což se bude detekovat jako production mode.
Zdá se, že jde o nějaký bug Mac OS X a adresa představuje IPv6 Loopback Address. Takhle adresa se ti zobrazuje na lokálu, nebo na produkčním serveru?