我正在关注an article以在Redis而不是文件系统中保存PHP会话(因此我可以与node.js共享会话)
我理解session_set_save_handler是如何工作的,但我对如何使用CodeIgniter框架进行设置感到困惑?我应该扩展CI_Session类并将session_set_save_handler放在那里吗?
答案 0 :(得分:1)
Codeigniter版本3
支持Redis会话打开并编辑
应用/配置/ config.php中
启用Redis将会话驱动程序设置为“redis”
$config['sess_driver'] = 'redis';
redis服务器路径示例
redis:// hostname:port或tcp:// hostname:port
为本地测试设置sess_save_path localhost的值
$config['sess_save_path'] = 'tcp://localhost:6379';
在本地主机上测试Redis。
上的答案答案 1 :(得分:0)
将您的会话存储在数据库中。 要存储会话,必须首先为此目的创建数据库表。以下是会话类所需的基本原型(用于MySQL):
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
SET
$config['sess_use_database'] = TRUE;
在config.php
文件中。
启用后,Session类会将会话数据存储在数据库中。
确保您已在配置文件中指定了表名:
$config['sess_table_name'] = 'ci_sessions';