session_regenerate_id() – warning (z neznámého důvodu)
- Honza Kuchař
- Člen | 1662
Ahojte, po delší době se ozývám, bohužel s chybkou,
zatím za neznámých okolností se občas v logu objeví tato chyba:
[07-Jun-2011 16:12:30] PHP Warning: session_regenerate_id(): Session object destruction failed in D:\data\web\services\uschovna\PHP\libs\Nette\Web\Session.php on line 218
Netušíte někdo, proč to nastává? Na php.net nic kloudného nepíšou. Možná snad se snaží Nette regenerovat session, když už neexistuje?
Mám chuť zapnout Nette\Debug ve strict módu, z toho budeme asi o dost moudřejší…
Nette verze 0.9.5.
- Honza Kuchař
- Člen | 1662
A nestačilo by tedy tu fci volat jen tehdy, pokud ještě nebyl odeslán výstup a pokud existuje session relace?
- radas
- Člen | 225
Mi už se nejspíš podařilo najít místo v kódu, které to způsobuje. V presenteru, kde mám i metodu pro signál handleXyz(), tak v metodě startup() používám přihlášení
$this->user->login(...);
$this->user->setAuthorizationHandler(new Acl());
Pokud ho obalím podmínkou
if (!$this->isAjax())
{
$this->user->login(...);
$this->user->setAuthorizationHandler(new Acl());
}
tak už pak k tomu varování nedochází.
- Honza Kuchař
- Člen | 1662
O tom vím, ale zatím se mi pořád nepodařilo vyzkoumat přesné podmínky, kdy se ten warning vygeneruje. Netušíte někdo?
- joe
- Člen | 313
K týhle chybě jsem se právě dostal a chtěl bych nějak oznámit uživateli, že došlo k chybě a ne vyhodit chybu na serveru.
Jak se k chybě dostat – používám prohlížeč Operu, stačí mít nějaký přihlašovací formulář, prvně se přihlásit a nechat uložit údaje. Odhlásit se a znovu zobrazit ten form. Pak místo vyplněním údajů dakrát (rychle) kliknout na ikonku klíčku, která automaticky vyplní formulář a odešle. Vyskočí mi tahle chyba.
Nápady jak se toho zbavit?
- bauer01
- Člen | 30
Já se s tím setkávám pokud nasměruju sessions do jiné složky, např. temp Nette, následně se to pak děje jen při přihlašování či odhlašování uživatele. Tipuju to na nějaké špatné oprávnění pro danou složku, viz. http://webomania.wordpress.com/…ailed-error/
A taky se s tím setkávám jen na Win serveru.
- Honza Kuchař
- Člen | 1662
Že by tento človíček našel řešení?
http://webomania.wordpress.com/…ailed-error/#…