Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.7k views
in Technique[技术] by (71.8m points)

thinkphp怎么用指定的ID取Session数据内容?

tp怎么获取指定id的session

session([
    'id' => 'lia4nqcv260q435dc762mo9ag8'
]);

设置执行上面代码后报错了

session_id(): Cannot change session id when session is active


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

通过 session 的原理,你只需要在 session 开启之前, 用你指定的这个 id 的值替换掉 请求cookie 中带入的 session_id 的值就可以了.

不过,web应用中,不应该出现这种操作啊. 这个有悖于会话的定义,在有状态的页面和服务去这个操作是很危险的.

所以 TP 的 Session 操作不支持这个操作,包括php 原生的 session 也没有提供这个操作,但是你依旧可以按照上面的方法来去达到想要的效果.

如果只是为了共享数据,那就走缓存的方案去处理, session 记录用户或者缓存 key的信息,而不是直接通过指定 session_id 来共享 session


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...