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

前端之家收集整理的这篇文章主要介绍了你可以在会话中切换PHP会话吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个我想要统一的应用程序.一个是我写的,另一个是我正在使用的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!

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

原文链接:https://www.f2er.com/php/132699.html

猜你在找的PHP相关文章