例如,假设我有一个使用$_SESSION['user_id']
. 现在,如果我有两个这样的应用程序在同一台服务器上运行,那么它们将共享这个 user_id 变量,这会破坏事情。
我唯一能想到的就是像这样添加一些唯一的 id:
$_SESSION['/app1/user_id']
$_SESSION['/app2/user_id']
那是最好的选择吗?
这就是 的目的session_name()
。为每个应用程序的会话分配不同的名称以避免$_SESSION
键之间的冲突。该名称将用作会话 cookie 的名称,因此虽然两个会话 cookie 都将传递给两个应用程序,但只有与应用程序匹配的一个session_name()
将用于填充$_SESSION
.
// App 1
session_name('app1');
session_start();
// App 2
session_name('app2');
session_start();