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

tp怎么获取指定id的session

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

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

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

阅读 3.2k
3 个回答

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

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

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

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

你这是要修改 session_id()的值吗?PHP版本>=7.2?

新手上路,请多包涵

tp6的话可以设置session_id

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题