可以在php中为session_id()赋值吗?

可以在php中为session_id()赋值吗?,php,session,Php,Session,是否可以手动为会话id分配新值 我尝试了以下方法,但无效: session_start(); $sessionId = session_id(); echo $sessionId; if ($sessionId != $ses) { session_id() = $ses; } 您可以使用: session_id可以用于获取会话id,也可以通过传入可选函数参数来设置会话id,正如我前面所做的那样 关于函数调用顺序和会话ID字符限制,手册中的以下内容值得注意: 如果指定了id,它将替换当前会

是否可以手动为会话id分配新值

我尝试了以下方法,但无效:

session_start();
$sessionId = session_id();
echo $sessionId;

if ($sessionId != $ses) { 
session_id() = $ses;
}
您可以使用:

session_id可以用于获取会话id,也可以通过传入可选函数参数来设置会话id,正如我前面所做的那样

关于函数调用顺序和会话ID字符限制,手册中的以下内容值得注意:

如果指定了id,它将替换当前会话id。 会话\u id需要在会话\u开始之前调用 意图根据会话处理程序的不同,并非所有字符都是 在会话id中允许。例如,文件会话处理程序 仅允许范围为a-z a-z 0-9、逗号和- 负号


是的,根据手册,您只需提供一个字符串作为

的参数,您必须在启动会话之前分配id

session_id('hello');
start_session();
但是,要小心这样做。会话ID通常是一个长的随机字母数字字符串。如果您将其设置为常量/简单值,则会使有人更容易劫持您的用户会话


如果两个或更多的人获得相同的会话ID,他们将共享相同的会话,因为该ID是特定会话的唯一标识符。它对于每个用户都应该是唯一的,没有重复项。

来自手册:string session_id[string$id]session_id=$ses;这一点都不正确。不能为函数赋值。如果你认为这是一种用任何语言做事情的有效方式,我建议你在PHP手册中使用它。+1,这很好地抵制了在提问之前对阅读手册做出讽刺评论的冲动…@DaveRandom实际上我在提问之前读过手册,但我是一个初学者,不太确定,这就是为什么我转向stackoverflow+1,这里列出了@wilest在使用这种方法时的注意事项。
session_id('hello');
start_session();