2013-09-24 12 views
6

Próbuję użyć Laravel na hoście, który ma wiele subdomen. Tylko jeden poddomek będzie miał uruchomioną aplikację Laravel, ale chciałbym udostępnić pewne rzeczy (takie jak bieżący użytkownik) za pośrednictwem macierzystej sesji PHP.Nie można udostępnić sesji z subdomenami za pomocą Laravel 4

Mam edytowany laravel sesja config do pracy z subdomen, zmieniając wartość domeny:

'cookie' => 'mydomain_session', 
'domain' => '.mydomain.com', 

W innej subdomeny, gdzie laravel nie działa, próbuję otworzyć sesję w ten sposób:

session_name("mydomain_session"); 
session_set_cookie_params(0,'/','.mydomain.com',false,true); 
session_start(); 

ale to nie działa, jeśli próbuję echo zmienna $ _SESSION jest pusta.

Najdziwniejsze jest to, że jeśli próbuję wywołać echo session_id(), to jest takie samo w obu subdomenach.

Co więcej, jeśli skonfiguruję ten sam skrypt w trzeciej poddomenie, bez problemu dzielę sesję z inną nie-larową poddominą.

Co robię źle? Brakuje mi czegoś lub Laravel nie zarządza natywną sesją PHP w zwykły sposób?

Każda pomoc jest doceniana!

+0

ma 'sesja laravel za :: get()' jest dzielona po drugiej stronie głównej domeny i subdomeny? – itachi

+0

Nie, próbuję użyć tablicy wanilii $ _SESSION. – Ingro

+0

Nie sądzę, że możesz przekazywać sesje w domenach. Nie udało się jeszcze przetestować tego numeru. – reikyoushin

Odpowiedz

0

lub Laravel nie zarządza natywną sesją PHP w zwykły sposób?

Prawidłowo.

Rzuć to na początku pliku routes.php:

Session::put('foo', 'bar'); 
die(print_r($_SESSION)); 

Zobaczysz, że laravel stawia sesji do tablicy wielowymiarowej.

Dla mnie sesja „foo” jest zawarta w $_SESSION['_sf2_attributes']