Sessions před vytvořením containeru
- Attanon
- Člen | 25
Ahoj,
řeším teď malý problém.
Potřebuji zapnout debug mod v nette na základě session z jiného části webu, která není na nette.
Mám stejný úložiště pro sessions. To je v pohodě. Akorát když se snažím inicializovat session jakkoliv, předtím než vytvořím configurator a poté container tak mi to vždy na vytvoření containeru padne.
bootstrap.php začátek
$requestFatory = new Nette\Http\RequestFactory;
$request = $requestFatory->createHttpRequest();
$response = new Nette\Http\Response;
$session = new Nette\Http\Session($request, $response);
$someSection = $session->getSection('someSection');
$someSection->value = 5;
var_dump($someSection->value); // "5"
A poté mi to při
$container = $configurator->createContainer()
hodí tento error.
Unable to set 'session.gc_maxlifetime' to value '8643600' when session has been started.
Zkoušel jsem to inicializovat takhle přez nette, nebo ručně a vždy skončím stejným problémem. Neřešil jsem to někdo a nevíte jak na to?
- David Matějka
- Moderator | 6445
Zkus nahradit sluzby v kontejneru pomoci:
$configurator->addServices(array(
'http.request' => $request,
'http.response' => $response,
'session.session' => $session,
));
(pred zavolanim createContainer)
EDIT: i kdyz je divny, ze jestli je session nastartovany zjistuje pomoci staticke promenne, takze by ti nemelo rozbijet vice instanci session.
Jestli nezabere to, co jsem posilal, hod sem chybu s callstackem
- David Matějka
- Moderator | 6445
Tam to bude tezky, skoro nemozny, jelikoz se ihned vola initialize, kde muze dojit k nastartovani k session. Ale viz ten muj edit u predchoziho prispevku, posli callstack, ten error by se nemel dit..