Unable to set ‚session.save_path‘ problém

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

Ahoj, používám Nette 2.0.13 s PHP verzí 5.3.27.

Trápí mě, že se na produkčním serveru často objevují vyjímky s tímto textem:

Unable to set 'session.save_path' to value '/home/myacc/Project/sessions' when session has been started by session.auto_start or session_start().

Na lokálním serveru se mi ji se sténým kódem nepodařilo dosáhnout.

Kód podle logu zhavaruje například v této metodě při volání $this->user->login:

<?php
public function handleEmailLogin($hash) {
        try {
            $data = $this->emailhash->getDecriptedData($hash);
            if ($data->op == 'emailconfirm') {
                $playerToTest = $this->playerModel->isAccountActive($data->ref);
                if ($playerToTest) {
                    if ($playerToTest->confirmed) {
                        $this->user->setAuthenticator($this->context->emailconfirmauthenticator);
                        $this->user->login($data->ref, false);
                        $this->user->setAuthenticator($this->context->authenticator);
                    }
                }
            }
        } catch (\Nette\Security\AuthenticationException $e) {
            return;
        }
        $this->redirect('M:default');
    }
?>

Není to však jediný případ, chyba se obecně objevuje když na $this->user zavolám isLoggedIn() nebo logout().

V configu nastavuju sessions takhle a cílovou složku pro sessions mám vytvořenou:

common:
	nette:
		session:
			expiration: 365 days
			save_path: '/home/myacc/Project/sessions'
			cookie_path: '/'
			autoStart: smart

Nikde jinde než v configu sessions nenastavuju.

v php.ini mám:

session.auto_start = 0
session.save_path = /tmp

Takže se o mazání sessions starám sám.

Nevíte co dělám špatně a jak z toho ven? Děkuji

Editoval spd (29. 11. 2013 16:00)

Majkl578
Moderator | 1364
+
0
-
sesssions.auto_start = 0

by mělo být:

sesssion.auto_start = 0
Majkl578
Moderator | 1364
+
0
-

Plus jedna rada mimo, protože vidím, že tam podivně šachuješ s autentikátory. Podívej se na multi authenticator od Vojty Dobeše, řeší přesně tvůj problém, kdy potřebuješ mít v aplikaci víc autentikátorů.

spd
Člen | 2
+
0
-

U toho sesssions jsem se upsal – v php.ini mám session. Takže to problém neřeší

Majkl578 napsal(a):

sesssions.auto_start = 0

by mělo být:

sesssion.auto_start = 0