gpt4 book ai didi

php - 使用 CI_Session 判断用户是否在线

转载 作者:行者123 更新时间:2023-11-29 15:47:43 25 4
gpt4 key购买 nike

我正在使用 ajax 为我的项目开发聊天模块。我想知道该用户是否在线

我正在使用下面所示的数据库表

CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(40) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
PRIMARY KEY (id),
KEY `ci_sessions_timestamp` (`timestamp`)
);

config.php 中的配置数据

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

之后我无法找到数据如何插入到该表中。我想它将直接插入到该数据库表中。但是半天以来db表一直是空的。谁能建议我下一步应该做什么

最佳答案

首先,要使用数据库驱动程序进行 session 处理,必须满足这些条件;

  • 仅您的默认数据库连接(或您访问的数据库连接)可以使用 Controller 中的 $this->db。
  • 您必须启用查询生成器。
  • 您不能使用持久连接。
  • 您无法使用启用了 cache_on 设置的连接。

然后您必须创建一个表来存储 session 数据;

CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(128) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
KEY `ci_sessions_timestamp` (`timestamp`)
);

您不需要向该表添加主键,因为您的选项“sess_match_ip”设置为 FALSE。

关于php - 使用 CI_Session 判断用户是否在线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56945806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com