Подтвердить что ты не робот

Как получить идентификатор сеанса в Laravel?

Я хочу получить идентификатор сеанса в Laravel 4

В Laravel 3 это было немного взломанно, но возможно с помощью этого кода:

$session_id = Session::$instance->session['id'];

Но я не могу это обработать в Laravel 4... ссылка на объект Session::$instance вызывает ошибки:

Доступ к необъявленному статическому свойству: Illuminate\Support\Facades\Session:: $instance

попытались:

$session_id = Session::get('id');

но безрезультатно.. любые идеи?

4b9b3361

Ответ 1

Зависит от версии Laravel:

Laravel 3:

$session_id = $_COOKIE["laravel_session"];

Laravel 4.0:

Просто не версии 4.1 и выше:

$session_id = session_id(); //thanks Phill Sparks

Laravel 4.1 (и далее):

$session_id = Session::getId();

или

$session_id = session()->getId()

Laravel больше не использует встроенные PHP-сессии напрямую, так как разработчик может использовать различные драйверы для управления сессиями посетителей (docs для Laravel 4.2, Laravel 5.1, Laravel 5.2).

Из-за этого теперь мы должны использовать Laravel Session facade или session() helper, чтобы получить идентификатор сеанса:

Ответ 2

Просто у меня была небольшая охота за собой, потому что вышеупомянутые ответы не сработали для меня (Laravel 4.1)...

Пришлось использовать это:

Session::getId();

Ответ 3

в laravel 5.5 сначала напишите это в своем контроллере use Session; и внутри вашей функции контроллера напишите следующую строку session()->getId();