加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

你可以在会话中切换PHP会话吗?

发布时间:2020-12-13 16:26:05 所属栏目:PHP教程 来源:网络整理
导读:我有两个我想要统一的应用程序.一个是我写的,另一个是我正在使用的CMS.我的认证发生在我编码的一个,我想要我的CMS知道这些信息.问题是CMS使用一个会话名称,我的应用程序使用另一个会话名称.我不想让他们使用相同的一个,由于可能的命名空间冲突,但我仍然想得
我有两个我想要统一的应用程序.一个是我写的,另一个是我正在使用的CMS.我的认证发生在我编码的一个,我想要我的CMS知道这些信息.问题是CMS使用一个会话名称,我的应用程序使用另一个会话名称.我不想让他们使用相同的一个,由于可能的命名空间冲突,但我仍然想得到这些信息.

是否可以在请求中间切换会话名称?例如,在CMS中做这样的事情:

//session_start already called by cms by here

$oldSession = session_name();
session_name("SESSION_NAME_OF_MY_APP");
session_start();

//get values needed
session_name($oldSession);
session_start();

这样的事情能起作用吗?如果在调用了session_start()之后,像这样的东西在文档或网络上找不到任何东西.提示?

为了解决这个问题,我一直在考虑开发一个Web服务来获取信息,但显然只是从会话中获取信息,因为信息已经可用了.

谢谢!

这是一个工作示例如何在会话之间切换:
session_id('my1session');
session_start();
echo ini_get('session.name').'<br>';
echo '------------------------<br>';
$_SESSION['value'] = 'Hello world!';
echo session_id().'<br>';
echo $_SESSION['value'].'<br>';
session_write_close();
session_id('my2session');
session_start();
$_SESSION['value'] = 'Buy world!';
echo '------------------------<br>';
echo session_id().'<br>';
echo $_SESSION['value'].'<br>';
session_write_close();
session_id('my1session');
session_start();
echo '------------------------<br>';
echo $_SESSION['value'];

日志会看起来像:

PHPSESSID
------------------------
my1session
Hello world!
------------------------
my2session
Buy world!
------------------------
Hello world!

所以,您可以看到,会话变量在更改会话时保存并恢复.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读