我使用了YII的session_id来跟踪网站上的用户活动,其中包含以下代码段:
Yii::app()->getSession()->getSessionId()
如何在Yii2中获得相同的sessionid?我尽可能地尝试了,但这一切都是徒劳的。
请分享Yii2的确切代码段。
答案 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