File ‚%appDir%/config.ini‘ is missing or is not readable
- Rampa
- Člen | 65
Ahoj ve spolek.
Stáhnul jsem Nette 2.0a a zkusil si na hostingu udělat sandbox. Checker mi to
projel, že jako vše ok (až na MagicImg, ale to nepotřebuju). Na lokále se
mi zobrazí standart Homepage:default, ale na hostingu mi to vyhodí
File '%appDir%/config.ini' is missing or is not readable.
při
pokusu `Environment::loadConfig();
` v bootstrapu.
V laděnce v sekci Environment jsou cesty vypsaný správně, tak nevím, kde
by mohl být pohřbený pes.
Webhosting jsem použil endora.cz … Asi to není ideální hosting, ale je to
zadarmo, tak na sandbox to musí stačit :)
- Rampa
- Člen | 65
Tak se v tom hrabu už druhý den a nejedeto…
Chyba bude asi v překladu %appDir%. Kde se vubec bere tato proměná? Hledal
jsem ve zdrojáku, ale nikde jsem definici nenašel, jen její použití
v config.ini a Configurator.php. V Nete 0.9 se to definovalo jako promená
Envitonmentu, ale v 2.0 už to tam není a když si dám
Debug::bardump(Environment::getVariables()), tak je to prázdný :(
- net-vor
- Člen | 35
Konstanta APP_DIR se definuje v souboru index.php
v adresáři
document_root, odtud se bere. Problém by podle mě mohl být v tom, že na
hostingu budou jinak nastavené cesty k document_rootu, než máš na
localhostu. Tohle někdy může být trochu utrpení, ale zkusil bych
zakverdlovat s nastavením v index.php, případně si nechat vypsat, jaké
adresáře se vlastně pod těmi konstantami skrývají, to by mohlo leccos
odhalit.
Jinak free hosting bych rychle opustil, je to sice zadarmo, ale k čemu to je, když je to bastl, mají to blbě nastavené a nic tam neběhá…
Editoval net-vor (15. 11. 2010 19:21)
- Rampa
- Člen | 65
O konstantě APP_DIR vím, kde se tvoří a ta je v pořádku, ale Nette využívá svojí proměnou appDir z Envirnmentu a tu jsem nenašel kde se iniciailizuje… :(
Tak po dalším bádání jsem zjistil, že mi nefunguje funkce z Environmentu:
preg_replace_callback vůbec neproběhne a místo stringu s nahrazenou proměnou mi to vrátí zpět původní string. Pokud vyhodím shut up zavináč, tak to hodí chybu Parametr 2 is not fuction. A PHP tam je 5.3.3
Editoval Rampa (16. 11. 2010 8:00)
- Mikulas Dite
- Člen | 756
Jestli se nepletu, tak pokud dáš pryč ten zavináč, dává to chybu s closure != callback. Taky mi tohle na jednom hostingu nějak nefungovalo, ale přešel jsem jinam, takže jsem to neřešil.
- Rampa
- Člen | 65
Přesněji řečeno, hází to warning
preg_replace_callback(): Requires argument 2, '', to be a valid callback
=========================================================================================
** VYŘEŠENO **
=========================================================================================
Takže zakopaná sabáka (neboli hund) je v eAcceleratoru.
Stačí dát do .htaccess:
php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0
Tak kdyby s tím někdo zápasil, tak jsem mu snad ušetřil čas :-)
Editoval Rampa (16. 11. 2010 10:18)