我在 yii 1 上有项目,当我使用 DB 保存会话时,我收到了错误。对于数据库中站点的每个查询,都会创建一个新条目。我不知道为什么。因此,我无法从会话中获取变量,因为在 refrtsh 页面之后,我在 db 中有一个新条目。我做错了什么?桌子:
CREATE TABLE `wo_yiisession` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`expire` INT(11) NOT NULL,
`data` TEXT NOT NULL,
PRIMARY KEY (`id`),
INDEX `expire_idx` (`expire`)
)COLLATE='utf8_general_ci'引擎=InnoDB
会话组件设置:
'session' => array(
'class' => 'CDbHttpSession',
'connectionID' => 'db',
'sessionTableName' => 'wo_yiisession',
'timeout' => 3600 * 24 * 30,
'autoStart' => 'false',
'cookieMode' => 'only',
),
看起来您的 ID 字段类型错误。建议的表结构为:
CREATE TABLE YiiSession
(
id CHAR(32) PRIMARY KEY,
expire INTEGER,
data BLOB
)
参见 CDbHttpSession