php session_id()删除$\u会话数组中以前的数据

php session_id()删除$\u会话数组中以前的数据,php,session,sessionid,Php,Session,Sessionid,根据php.net,要更改cookie中的会话id,则行会话id($id)必须位于行会话启动()之前。我的问题是,当我第一次启动会话并将值分配给$\u会话数组时,我在另一个脚本中更改了会话id。为什么我分配的数据已被删除 第一个脚本-启动会话并为会话数组赋值: <?php session_start(); // store session data $_SESSION["username"] = "joshmathews" ; $_SESSION["name"] = "josh" ;

根据php.net,要更改cookie中的会话id,则行会话id($id)必须位于行会话启动()之前。我的问题是,当我第一次启动会话并将值分配给$\u会话数组时,我在另一个脚本中更改了会话id。为什么我分配的数据已被删除

第一个脚本-启动会话并为会话数组赋值:

<?php

session_start();
// store session data
$_SESSION["username"] = "joshmathews" ;
$_SESSION["name"] = "josh" ;

?>

第二个脚本-更改会话id但无法从第一个脚本访问数据:

<?php

session_id(200) ;
session_start();
echo "<br>Username = " . $_SESSION["username"];
echo "<br> name= " . $_SESSION["name"] ;
echo "<br>" . session_id() ;
?>

1.如果要更新会话id()值,则应重新生成会话id()


2.如果要完全删除会话详细信息,请使用session\u destroy()

session\u id(..)接收字符串,而不是数字,我不确定如果您提供会话id('strId')的替代使用session\u regenate\u id(TRUE)的数字会发生什么;在字符串中写入id没有效果。我试过了,结果还是一样。