如何在 Yii2 中获取来宾用户 sessionid?

How to get guest user sessionid in Yii2?

我使用 YII 的 session_id 通过以下代码片段在网站上跟踪用户 activity:

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

如何在 Yii2 中获得相同的 sessionid?我尝试了很多可能的方法,但都是徒劳的。

请分享 Yii2 的确切代码片段。

你可以试试

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();

Yii::$app->session->Id

并且无需显式打开会话。当您通过会话组件访问会话数据时,如果之前没有打开过,则会自动打开一个会话。 http://www.yiiframework.com/doc-2.0/guide-runtime-sessions-cookies.html#sessions

$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"

这个link可能会有帮助:http://www.yiiframework.com/doc-2.0/guide-runtime-sessions-cookies.html#sessions