【问题标题】:php unseting $_SESSION variable on page referesh or redirectedphp 在页面刷新或重定向时取消设置 $_SESSION 变量
【发布时间】:2019-01-01 10:28:33
【问题描述】:

我已将我们的代码移至新服务器 PHP 版本是 7.1,以前使用的是 5.6。

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

ob_start(); session_start();
$_SESSION['abc'] = "manik";
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
session_regenerate_id(true);
header('Location:test2.php');
exit();

session_save_path

请指教。

【问题讨论】:

  • 所以你的代码使用旧的 PHP 版本在同一个浏览器中工作?
  • 是的,当移动到新服务器时它不起作用,我认为它的 session_save_path 问题,本地保存在那里但主值不是
  • 所以从你的脚本中删除 session_save_path 并使用默认的 tmp 文件夹测试它是否有效:)
  • 不,它也不适用于临时文件夹
  • 你有什么错误吗?

标签: php session session-variables


【解决方案1】:

你可以检查你的 session.save_path 我认为它不可写这就是你面临这个问题的原因 if (!is_writable(session_save_path())) { echo 'Session path "'.session_save_path().'" is not writable for PHP!'; }

【讨论】:

    【解决方案2】:

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

    $session_data = array('abc' => 'manik');
    

    那么,

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

    希望,这行得通

    【讨论】:

      猜你喜欢
      • 2018-03-22
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 2017-09-12
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 2019-08-03
      相关资源
      最近更新 更多