我将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;
有人遇到我的问题或知道解决方法吗?谢谢
1条答案
按热度按时间g9icjywg1#
我可以建议你解决这个问题。
转到codeigniter网站。
下载codeiginter的最新版本。
把它取出来。
将系统文件夹重命名为现有项目中的其他文件夹。
粘贴新的系统文件夹,你做到了。