Я использую "хранилище файлов" для своей сессии. Когда я запустил это:
Session::set('awesomekey', 'myVal123');
И обновите страницу, я вижу каждый раз новые файлы, созданные в /storage/session. Я предположил, что он будет обновлять один и тот же файл каждый раз. Это в основном означает, что сеансы вообще не работают. Другими словами, если он сохраняет воссоздание файла сеанса, это никогда не работает:
Session::get('awesomekey');
Или, по крайней мере, он возвращает пробел. Что мне не хватает, что может привести к созданию нового сеансового ключа при каждом загрузке страницы?
UPDATE
При дальнейшем расследовании кажется, что cookie регенерируется при каждой загрузке страницы. Что может быть причиной этого?
Я даже не смотрю на вход в систему, поэтому эта информация для меня бесполезна → http://willworkforbanjos.com/2014/02/laravel-sessions-not-working-in-4-1/
Моя проблема возникает, когда я просто помещаю вышеуказанный набор и получаю код в файле master.blade.php. Он должен установить его, сохранить информацию, а при следующей перезагрузке получить нужную информацию из сеанса. Но это невозможно, потому что при перезагрузке он изменил файл cookie на какой-то другой код.
Кто-нибудь знает, почему это происходит?
ОБНОВЛЕНИЕ 2
- Добавление: 'lifetime' = > 120 to session.php не работает. (@Sheikh Heera)
- Размещение кода только в контроллере не работает. (@Phill Sparks)
- Я пробовал хром и firefox, тот же результат (@The Shift Exchange)
Просто чтобы понять, что я пытаюсь сделать. Я добавлю следующий код в HomeController.php:
public function index()
{
Session::put('awesomekey', 'myVal123');
return View::make('home.index');
}
Затем я помещаю это в свой master.blade.php:
print Session::get('awesomekey');
Я не включаю никаких "штампов" или случайных эхо-сигналов в моей стороне контроллера кода, за исключением этого. Когда я открываю файл в первый раз, я вижу, как myVal123 распечатывается.
Затем я вынимаю эту часть в контроллере:
Session::put('awesomekey', 'myVal123');
И перезагрузите страницу. Теперь он ничего не печатает. Я вижу в своем браузере, что cookie изменился. Создание нового файла cookie потеряет ссылку на сеанс, поэтому я застрял, пытаясь понять, почему он это делает каждый раз, даже если он сохраняет сеанс при первом загрузке.
Любые идеи?
ОБНОВЛЕНИЕ 3
Я также пробовал:
- Запуск "php artisan dump-autoload"... все еще не работает.
- Я пошел сюда: http://www.whatismybrowser.com/are-cookies-enabled... и да, файлы cookie включены.
У меня действительно заканчиваются идеи...
ОБНОВЛЕНИЕ 4
-
Я пошел в SessionManager.php и только под этим:
$lifetime = $this- > app ['config'] ['session.lifetime'];
Я распечатал значение времени жизни:
print $lifetime; die();
И этот код никогда не попадал на перезагрузку страницы?! Однако, добавив это в мой контроллер:
$d = Config::get('session.lifetime');
print $d;
Фактически распечатывает мое значение для жизни....: (