15

我有一个非常愚蠢的问题(我相信):

如果我开始 2 个会话,调用session_start()两次会发生什么?例如,我有一个 class User,我在其中启动用户会话,还有一个 class Error,我在其中启动另一个会话,因此我可以在其中存储错误和通知并将它们传递给其他页面。

我会遇到问题吗,这是否有效?

4

2 回答 2

24

PHP 不支持多个同时会话。除非现有会话被销毁(通过) ,否则在请求中第二次调用session_start()不会做任何事情。session_destroy()

session_start()根据通过 GET 或 POST 请求或通过 cookie 传递的会话标识符创建会话或恢复当前会话。

http://php.net/session-start

于 2012-10-17T18:00:10.697 回答
8

如果您检查每个会话是否已经创建了会话,则可以使用不同的 session_start() ,以这种方式:

if (!isset($_SESSION)) {
    session_start();
}
于 2017-05-10T20:07:52.830 回答