Nelze se připojit k databázi → bílá obrazovka

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
snakeeater
Člen | 18
+
0
-

Zdravím,
Nette mě velice zaujalo a chci se ho naučit. Avšak hned v Quick Startu jsem narazil na problém a to konkrétně v části Vytvoření modelu. Takto jsem si nastavil config, jelikož pracuji pouze na localhostu na svém PC:

<?php
[production < common]

[development < common]
; database options in development mode
database.profiler = TRUE
database.database = nette
database.username = root
database.password = mysql
?>

V bootstrap.php jsem pred $application->run(); vlozil nasledujici kod:

<?php
dibi::connect(Environment::getConfig('database'));
?>

Vse je presne podle navodu, ale presto kdyz web spustim, objevi se pouze bila obrazovka. Udaje pro pripojeni jsou spravne. Zkousel jsem i na nejnovejsi verzi Nette a dibi a nic nepomohlo.
Prosim o pomoc. dekuji.

Petr Mašát
Člen | 101
+
0
-

Ahoj,
ideální v tomto případě je podívat se do logu apache. V Linuxu/Ubuntu je to pomocí příkazu v konzoli:

tail -f /var/log/apache2/error.log

tipuji že nemáš povolený zápis do jednoho z adresářů app/log, app/temp.

arron
Člen | 464
+
0
-

Kdyz na to tak koukam, tak Ti v tom zdrojaku chybi definovany hostname. Pokud ho nedefinujes, tak se ho mysql driver pokusi vytahnout z php.ini (ini_get('mysql.default_host')) nicmene nikdy jsem tohle do sveho php.ini nedopisoval a kdyz jsem tam kouknul, tak tam nejsou definovane zadne hodnoty (resp. jsou tam prazdne hodnoty). Takze to zkus do configu doplnit (database.hostname = localhost pripadne database.hostname = 127.0.0.1) a uvidime co to udela:-)

snakeeater
Člen | 18
+
0
-

Skvělé pánové, díky moc za pomoc!
Pomohlo mi kdyz jsem napsal jako hostname 127.0.0.1. Měl bych jen ještě malý dodatečný dotaz. Proč nefunguje, když dám do konfigurace tohle?

<?php
[common]
database.charset = utf8

[development < common]
; database options in development mode
database.profiler = TRUE
database.hostname = 127.0.0.1
database.database = nette
database.username = root
database.password = mysql
?>

Pise mi to chybu „Class ‚dibi‘ not found“. Pokud jsem to spravne pochopil, tak takhle by mela konfigurace pro development dedit od common, ale pise mi to tu chybu. Diky za odpoved a jeste jednou diky za pomoc pri vyreseni myho problemu.

arron
Člen | 464
+
0
-

Typnul bych, ze chyba nebude v te konfiguraci, ale je to jenom takove věštění z koule:-) Zkus promazat temp a kdyztak napis nejake dalsi info. Jinak jsi to pochopil spravne:-)