如何在Yii2中获取访客用户sessionid?

时间:2015-12-05 11:01:57

标签: yii2 sessionid yii2-advanced-app

我使用了YII的session_id来跟踪网站上的用户活动,其中包含以下代码段:

Yii::app()->getSession()->getSessionId()

如何在Yii2中获得相同的sessionid?我尽可能地尝试了,但这一切都是徒劳的。

请分享Yii2的确切代码段。

3 个答案:

答案 0 :(得分:4)

您可以尝试使用

Yii::$app->session->getId();

本指南对您有用http://www.yiiframework.com/doc-2.0/guide-runtime-sessions-cookies.html

尝试检查会话之前是否已处于活动状态,如果不使用会话open()。

session = Yii::$app->session;

// check if a session is already open
if ($session->isActive) ...

// open a session
$session->open();

// close a session
$session->close();

// destroys all data registered to a session.
$session->destroy();

答案 1 :(得分:1)

$session = Yii::$app->session;

// if session is not open, open session
if ( !$session->isActive) { $session->open(); }

// get session id
Yii::$app->session->getId();

我在会话ID中有26个字符串。 “itddoa1lr247phpds34aemr0v0”

此链接可能会有所帮助:http://www.yiiframework.com/doc-2.0/guide-runtime-sessions-cookies.html#sessions

答案 2 :(得分:0)

Yii::$app->session->Id

无需明确打开会话。当您通过会话组件访问会话数据时,如果之前没有这样做,会自动打开会话。 http://www.yiiframework.com/doc-2.0/guide-runtime-sessions-cookies.html#sessions