Nette + VirtualBox + Kdyby/Doctrine
- snizemic
- Člen | 28
Ahoj, našel jsem tu už ohledně toho nějaké příspěvky, ale jsou
staré, tak se ptám na aktuální situaci. Rozběhal jsem Nette ve virtuálním
prostředí, ale mám problém s jeho detekcí.
Pokud v bootstrap.php nastavím následující, tak běží všechno
v pohodě.
<?php
$configurator->setDebugMode(TRUE);
?>
Ale pokud dám IP adresu virtuálního prostředí, nebo když
setDebugMode()
nenastavím vůbec,
<?php
$configurator->setDebugMode('192.168.33.10');
?>
tak dostanu 500 Server error. Navíc Doctrine odmítne fungovat a v logu
dostanu výpis:
[2016-04-20 10-22-26] Recoverable Error: Argument 1 passed to App\Presenters\HomepagePresenter::__construct() must be an instance of Kdyby\Doctrine\EntityManager, none given, called in /var/www/public/nette-doctrine/temp/cache/Nette.Configurator/Container_dab577110c.php on line 334 and defined in /var/www/public/nette-doctrine/app/presenters/HomepagePresenter.php:17 @ http://local.dev/nette-doctrine/www/ @@ exception--2016-04-19--17-05--7017f21c3f.html
Pokud zadám adresu Admineru
http://local.dev/nette-doctrine/www/adminer
, tak dostanu
samozřejmě hlášku Adminer is available only from localhost
. Ale
tomu rozumím, proč to tak je.
Doctrine jsem rozběhal podle http://blog.honzacerny.com/…te-framework.
Chápu, že se vlastně snažím o vývoj na „vzdáleném“ serveru, což
jsem tady četl, že obecně tak nějak nedoporučujete.
Je tedy cesta, jak to všechno správně nastavit, abych mohl používat
lokální virtuální prostředí?
Předem díky za odpovědi!
Editoval snizemic (20. 4. 2016 10:32)
- snizemic
- Člen | 28
Tak přeci ještě jeden problém s Doctrine. Nesetkal jste se někdo
s následující chybou při volání
php ./www/index.php orm:info
?
Doctrine\DBAL\Exception\ConnectionException: An exception occured in driver: SQLSTATE[HY000] [2002] Nemohlo být vytvořeno žádné připojení, protože cílový počítač je aktivně odmítl.
Jinak mi v Nette Doctrine normálně funguje, dokonce i jiné příkazy
typu php ./www/index.php orm:...
fungují.
- iguana007
- Člen | 970
Podle mě máš jen špatně nastavené připojení do databáze … nebo databázi (konkrétně možnosti připojení zdálených klientů), pokud ti databáze běží mimo ten virtuál, tak by si tam určitě neměl mít jako hostname třeba „localhost“, ale IP adresu prostředí, kde ta DB běží.
Editoval iguana007 (26. 4. 2016 13:07)