在config.php中
$config['sess_driver'] = 'database';
$config['sess_save_path'] = 'ci_sessions';
$config['sess_cookie_name'] = 'cookiename';
$config['sess_expiration'] = 7200;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
//$config['sess_driver'] = 'files';
//$config['sess_save_path'] = BASEPATH . 'cache/sessions/';
表:
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`)
);
这不会保存数据库中的会话,并且API不会返回任何响应。如果我将其更改为文件,它可以正常工作。
[更新]
现在我收到了这个错误:
Exception: Configured database connection is persistent. Aborting. /var/app/current/system/
libraries/Session/drivers/Session_database_driver.php 94
答案 0 :(得分:1)
考虑你的dbprefix配置。
如果它是'isci_'
,那么您的会话表的名称应为'isci_sessions'
,sess_save_path
的名称相同。
此外,您应该将数据库pconnect配置更改为FALSE以修复上一个问题。