3

例如,假设我有一个使用$_SESSION['user_id']. 现在,如果我有两个这样的应用程序在同一台服务器上运行,那么它们将共享这个 user_id 变量,这会破坏事情。

我唯一能想到的就是像这样添加一些唯一的 id:

$_SESSION['/app1/user_id']

$_SESSION['/app2/user_id']

那是最好的选择吗?

4

1 回答 1

6

这就是 的目的session_name()。为每个应用程序的会话分配不同的名称以避免$_SESSION键之间的冲突。该名称将用作会话 cookie 的名称,因此虽然两个会话 cookie 都将传递给两个应用程序,但只有与应用程序匹配的一个session_name()将用于填充$_SESSION.

// App 1
session_name('app1');
session_start();

// App 2
session_name('app2');
session_start();
于 2012-07-19T00:00:57.337 回答