【问题标题】:Codeigniter 3.0.6 session working with php 5.6 but not with 7.1Codeigniter 3.0.6 会话使用 php 5.6 但不适用于 7.1
【发布时间】:2017-10-15 14:10:33
【问题描述】:

我正在开发 php 5.6 并使用以下代码-

$verify_login = $this->core->verify_login($username, $password);
if ($verify_login) {
    $this->session->set_userdata("user_id", $verify_login['id']);
    $this->session->set_userdata("epost_id", $verify_login['epost_id']);
    $this->session->set_userdata("firstName", $verify_login['firstName']);
    $this->session->set_userdata("lastName", $verify_login['lastName']);
    $this->session->set_userdata("email", $verify_login['email']);
    $this->session->set_userdata("rating", $verify_login['rating']);
    $this->session->set_userdata("credits", $verify_login['credits']);

    redirect(site_url('dashboard'));
}

它运行良好,正在创建我的会话。但是现在当我迁移到 php 7.1 时,由于我无法登录而没有设置会话。有什么想法吗?这是我的配置。

$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 36000;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 30000;

【问题讨论】:

  • 检查您的日志。会话可能正在使用 PHP7 中删除的一些函数。
  • 您使用的是哪个 Codeigniter 版本?
  • 我认为是最新的。 3.x
  • 日志中没有任何内容。我查过了。
  • @NaimMalek 我正在使用 3.0.6

标签: php codeigniter session


【解决方案1】:

对于所有遇到相同问题的人(CodeIgniter 3.0.6 和 PHP 7.1),我得到了答案。请查看以下网址。

http://www.jianshu.com/p/4bf22c8af19d

【讨论】:

  • 这个页面只有部分英文,非英文部分我看不懂。无论如何,SO 的最佳实践是在您的答案中包含任何链接的关键部分。请您用英语总结一下您链接到的页面吗?
  • 总结,将 php.ini 设置为:- session.sid_length 为 40; session.sid_bits_per_character 到 4,它对我很有效。他们提出的第二种解决方案是将代码点火器版本升级到至少> 3.1.3。
猜你喜欢
  • 2018-01-27
  • 2017-09-28
  • 2021-03-23
  • 1970-01-01
  • 2017-03-01
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 2015-02-01
相关资源
最近更新 更多