我在数据库中存储会话时遇到问题。我的项目有两个部分,一个是完整的网站,用户来自并安排他们的视频广播,第二部分是Facebook应用程序,观众来看广播。问题是,当我通过将sess_use_database设置为true来存储数据库中的会话时,我的网站部分运行良好并且没有问题发生但在facebook部分会话中不存储除codeigniters默认值之外的手动值,但是当我使用cookie进行会话时两个部分运行良好。 iframe中的codeigniter会话有问题吗?
答案 0 :(得分:0)
我猜您的问题是网络服务器为域名创建了唯一的ID会话,所以如果我通过facebook访问您的网站,我的会话ID将不同于通过其域访问您的网站,在这种情况下应使用cookie来存储仅会话ID,但所有会话数据都应存储在数据库中。
答案 1 :(得分:0)
我在我的项目上遇到问题超过两天试图通过会话调试我的问题UNTILL我发现问题出在ci_session表结构上
如果您遇到问题,您的桌子应该是这样的:
--
-- Table structure for table `ci_sessions`
--
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`session_id` varchar(40) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`user_agent` varchar(120) NOT NULL,
`last_activity` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user_data` text NOT NULL,
PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;