formulare a problem s session.gc_maxlifetime

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

Ahoj, prosil bych o radu. Chtěli bychom používat systém formulářů z Nette, které jsou perfektně udělané. A možná ještě Laděnku. Nic jiného nepotřebujeme. Problém je v tom, že v našem systému musíme pracovat s „normálními“ sessions, takže máme nastaven hned při startu

session_start();
//nette
require ‚Nette/loader.php‘;
use Nette\Forms\Form;
use Nette\Diagnostics\Debugger;
Debugger::enable(Debugger::DEVELOPMENT); // aktivujeme Ladenku

Vše funguje, až do té doby, kdy uděláme v nějakém modulu formulář z Nette
$form->addHidden(‚id‘)

Hned nám to vyhodí vyjímku Nette\InvalidStateException
Unable to set ‚session.gc_maxlifetime‘ to value ‚10800‘ when session has been started by session.auto_start or session_start()

Takže máme na výběr – buď zapoznámkujem session_start(), takže nám nejede mnoho už hotových našich modulů využívajících session a nebo nebudem používat Nette a připravíme se tak o úžasně řešení formuláře ;)

Je prosím nějaké řešení?

Díky,
fm

fm
Člen | 3
+
0
-

Fakt je nemožné používat u Nette normální sessions? Není to trochu špatný přístup, když framework upravuje věci, které jsou mimo něj?

Nikdo nezná odpověď jak používat Nette a normální sessions spolu? ;)

Díky,
fm

jtousek
Člen | 951
+
0
-

Co kdybys tu direktivu session.gc_maxlifetime nastavil sám před tím session_start nebo v .htaccess? Pokud bude nastavená tak by se Nette už nemělo pokoušet ji nastavovat (teda alespoň v to doufám).

fm
Člen | 3
+
0
-

Nakonec jsem to vyřšil tak, že místo session_start(); spustím session pomocí

Nette\Environment::getSession()->start();

Pak fungují jednak formuláře, tak i normální sessions.

Problém je jen v tom, že jsem četl, že Environment je zastaralé, tak nevím, zda to pak nebude dělat nějaký problém…

jtousek
Člen | 951
+
0
-

Environment je deprecated a při plném nasazení Nette je lepší použít DI. V tvém případě je ale použití Environment zcela v pořádku (dle mého názoru).