msturdy msturdy -5 years ago 605
PHP Question

How can I get the session ID in Laravel?

I want to get the id of the session in Laravel 4

In Laravel 3, it was a bit hacky, but possible with this code:

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

But I can't work it out in Laravel 4... referencing the
object throws errors:

Access to undeclared static property: Illuminate\Support\Facades\Session::$instance

have tried:

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

but to no avail.. any ideas?

Answer Source

Depends on the version of Laravel:

Laravel 3:

$session_id = $_COOKIE["laravel_session"];

Laravel 4.0:

Just not versions 4.1 and above:

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

Laravel 4.1 (and onwards):

$session_id = Session::getId();


$session_id = session()->getId()

Laravel no longer uses the built-in PHP sessions directly, as a developer could choose to use various drivers to manage the sessions of visitors (docs for Laravel 4.2, Laravel 5.1, Laravel 5.2).

Because of this, now we must use Laravel's Session facade or session() helper to get the ID of the session:

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download