Sessions před vytvořením containeru

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

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
+
0
-

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

Attanon
Člen | 25
+
0
-

Netušíš jak to jde udělat v nette 2.0.18, zapoměl jsem napsat že používám tuto starší verzi.

David Matějka
Moderator | 6445
+
0
-

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..

Attanon
Člen | 25
+
0
-

Ještě mě napadlo, co třeba to zkusit nastavit v extension? K session se tam dostanu, lze tam nastavit debug mod?