【问题标题】:CodeIgniter session keeps resttingCodeIgniter 会话不断重置
【发布时间】:2018-03-26 15:49:45
【问题描述】:

我正在为一个如此奇怪的会话问题而苦苦挣扎,我什至不知道如何开始调试它。

我有一个 CI 3.0.0 项目已经启动并运行(并不断开发)好几年了。

上周我切换到一个新的托管服务,从那以后,我一直遇到会话问题,会话数据在不同的时间间隔内不断重置。

托管公司已切换到新主机 - 他们说他们照原样复制了整个 cPanel 帐户,包括文件和数据库。我在新服务器上所做的一项更改是将之前未设置的 cookie_domain 定义为“.mydomain.com”。

当我开始遇到会话问题时,​​我将其改回$config['cookie_domain'] = '';,但这并没有帮助。

我在 config.php 中的 session/cookie 设置如下:

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 14400;
$config['sess_save_path'] = 'ci_sessions3';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

$config['cookie_prefix']    = '';
$config['cookie_domain']    = '';
$config['cookie_path']        = '/';
$config['cookie_secure']    = FALSE;
$config['cookie_httponly']     = FALSE; 

我主要使用会话来保存用户登录详细信息,这是我在基本页面模板中使用的,用于检查用户是否已登录并具有适当的权限。如果他们这样做,我会加载请求的页面视图。如果没有,我会加载登录表单。 现在发生的情况是,在用户登录并开始使用系统后,在很短的时间后,他们会被扔回登录表单,好像用户数据已被某种方式重置一样。

if (!$this->session->userdata('admin_logged_in') || empty($this->session->userdata('digital_view_perms')))
    {
    $main_content = 'admin_digital/login_form';
    }
  $this->load->view($main_content, @$data_rows, @$prev_code, @$action);

任何关于我应该从哪里开始挖掘问题的指针将不胜感激!

我确定唯一改变的是托管服务。新服务器上的php版本是7.0.28,而旧服务器上的php版本是5.6.33。

谢谢!

【问题讨论】:

  • 你必须将你的框架更新到最新版本才能使用 PHP 7
  • 谢谢,@ahmad。作为快速修复,我降级到 PHP 5,问题就消失了。现在得找时间把项目升级到CI 3.1.8,再把PHP版本升级回来。另外 - 原来这是旧 CI 版本中的一个已知错误,已在 3.0.3 中修复:codeigniter.com/userguide3/changelog.html#bug-fixes-for-3-0-3
  • 你是用ajax登录的吗?
  • @einav 请提供您如何设置会话的代码。

标签: codeigniter session codeigniter-3


【解决方案1】:

我将php版本更改为7.0时遇到了这个问题

  • 下载最新版CI3

  • System/ 文件夹替换为新文件夹!

【讨论】:

    【解决方案2】:

    您需要将您的框架更新到最新版本才能使用 PHP 7

    【讨论】:

      【解决方案3】:

      更新你的框架!解决这个问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-26
        • 1970-01-01
        • 2011-12-13
        • 2019-02-03
        • 1970-01-01
        • 2014-01-20
        相关资源
        最近更新 更多