codeigniter会话未写入数据库

bqf10yzr  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(257)

我将php版本从5.6升级到7.2.10,突然将会话数据写入mysql数据库停止工作(会话表为空)。我还将codeigniter版本升级到了3.1.9(仅限于系统文件夹),但这没有帮助。我认为问题可能出在php(或mysql)的某些配置中,因为我要做的第一件事是在php.ini中更改autostart会话。当我从$this->config->item('sess\u driver')检索值时,我得到“database”。当我从$this->session检索值时,我得到:

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

这很奇怪,因为在旧的php版本中,我得到了“database”作为驱动程序值。看起来会话数据存储在文件中-当我请求$this->session->has\u 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;

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

g9icjywg

g9icjywg1#

我可以建议你解决这个问题。
转到codeigniter网站。
下载codeiginter的最新版本。
把它取出来。
将系统文件夹重命名为现有项目中的其他文件夹。
粘贴新的系统文件夹,你做到了。

相关问题