繁体   English   中英

PHP版本升级到7.2.10后,CodeIgniter会话未写入数据库

[英]CodeIgniter session not writing to the DB after PHP version upgrade to 7.2.10

我将PHP版本从5.6升级到7.2.10,突然将会话数据写入MySQL数据库停止了工作(会话表为空)。 我也将CodeIgniter版本升级到3.1.9(仅系统文件夹),但这无济于事。 我认为问题可能出在PHP(或MySQL)的某些配置中,因为我要做的第一件事是更改php.ini中的自动启动会话。 当我从$ this-> config-> item('sess_driver')检索值时,我得到了“数据库”。 当我从$ this-> session中检索值时,我得到:

object(CI_Session)[14]
  public 'userdata' => null
  protected '_driver' => string 'files' (length=5)
  protected '_config' => null
  protected '_sid_regexp' => null

这很奇怪,因为在较旧的PHP版本中,我将“数据库”作为_driver值。 似乎会话数据存储在文件中-当我要求$ this-> session-> has_userdata('id')时,我得到了正确的值,但应将其保存在数据库会话表中,但事实并非如此。 这是我的配置部分:

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

有人遇到我的问题或知道解决方案吗? 谢谢

我可能会建议您解决。

  1. 转到codeigniter网站。
  2. 下载最新版本的codeiginter。
  3. 提取它。
  4. 将重命名系统文件夹重命名为现有项目中的其他文件夹。
  5. 粘贴新的系统文件夹,您就完成了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM