php取消设置页面上的$\会话变量referesh或重定向

php取消设置页面上的$\会话变量referesh或重定向,php,session,session-variables,Php,Session,Session Variables,我已经将我们的代码移到了新服务器上,PHP版本是7.1,以前使用的是5.6 我在$会话变量上遇到问题。如果页面被重定向到其他页面$\u会话没有值,即使在注释的会话集以及$\u会话值消失后,我也会重新加载此页面 ob_start(); session_start(); $_SESSION['abc'] = "manik"; echo "<pre>"; print_r($_SESSION); echo "</pre>"; session_regenerate_id(true)

我已经将我们的代码移到了新服务器上,PHP版本是7.1,以前使用的是5.6

我在$会话变量上遇到问题。如果页面被重定向到其他页面$\u会话没有值,即使在注释的会话集以及$\u会话值消失后,我也会重新加载此页面

ob_start(); session_start();
$_SESSION['abc'] = "manik";
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
session_regenerate_id(true);
header('Location:test2.php');
exit();
ob_start();会话_start();
$\会话['abc']=“manik”;
回声“;
打印(美元会话);
回声“;
会话\u重新生成\u id(true);
标题('Location:test2.php');
退出();


请告知。

首先将变量保存在数组中。然后,使用set_userdata方法设置会话数据。 例如:

$this->session->set_userdata($session_data);
那么


希望,这能起作用

你可以检查你的会话。保存路径我想是的,它是不可写的,这就是你面临这个问题的原因
如果(!可写(会话保存路径())
{
echo“Session path”.Session_save_path().“对于PHP不可写!”;

}

那么您的代码是在使用旧PHP版本的同一浏览器中工作的?是的,当移动到新服务器时它不工作,我认为这是会话保存路径问题,本地保存在那里,但主值不存在。因此,请从脚本中删除会话\u保存\u路径,并使用默认tmp文件夹测试它是否工作:)不,它也不使用临时文件夹。是否收到任何错误?
$this->session->set_userdata($session_data);