Instalace frameworku – test instalace
- svar
- Člen | 2
Po instalaci (dle návodu) jsem vyzkoušel test instalace, ale dostávám jen
bílou stránku. V logu má tuto informaci:
06-May-2010 10:20:08] PHP Fatal error: Uncaught exception
‚InvalidStateException‘ with message ‚A session had already been started
by session.auto-start or session_start().‘ in
/home/www/asistent/libs/Nette/Web/Session.php:71
Poradíte co s tím? Dík za radu.
- Šaman
- Člen | 2666
Zkus PHP funkci session_destroy()
, pripadne
unset($_SESSIONS)…
Tak jsem to zkusil sam, at tu neradim hovadiny a bohuzel se mi nepovedlo rozchodit nette sessions kdyz jsem dal na zacatek index.php prikaz session_start(). Napada me jen nepouzivat Nette sessions (zase tak moc ficurek nemaji) a holt se starat o session postaru. Anebo pockat na nejakeho guru.
- Mikulas Dite
- Člen | 756
Skoro jistě stačí dát místo
<?php
$session->start();
?>
kontrolu
<?php
if (!$session->isStarted()) $session->start();
?>
- Šaman
- Člen | 2666
Bohužel, skoro jistě ne. Ta výjimka, co mu vyskakuje, říká že existuje
SID a přitom $session->isStarted()
tvrdí, že není
started.
Viz.
API Session.php:65
Navíc doporučený přístup přes getNamespace() a getSessions() tuto kontrolu má.
Editoval Šaman (10. 5. 2010 15:54)
- Mikulas Dite
- Člen | 756
Šaman napsal(a):
Bohužel, skoro jistě ne. Ta výjimka, co mu vyskakuje, říká že existuje SID a přitom
$session->isStarted()
tvrdí, že není started.
Jo takhle.
A session had already been started by session.auto-start or session_start().‘ in /home/www/asistent/libs/Nette/Web/Session.php:71
Tvrdí, že session už běží, tzn. jestli opravdu isStarted vrací false, tak se vztahuje jenom na nette session.
K problému: jestli to zlobí na hostingu a tohle řešení ti postačí, můžeš dát
if (!Environment::isProduction) {
$session->start();
}
Nebo napsat jinou kontrolu nastartované session, ale je to zbytečný.