如何处理在同一服务器上运行的两个应用程序实例的PHP会话变量名?

Rya*_*yan 3 php session

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

我唯一能想到的是预先添加一些像这样的唯一ID:

$_SESSION['/app1/user_id']

$_SESSION['/app2/user_id']

那是最好的选择吗?

Mic*_*ski 6

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

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

// App 2
session_name('app2');
session_start();
Run Code Online (Sandbox Code Playgroud)