2017-01-30 27 views
0

我检查了边缘的会话cookie,它不可用。在Chrome中,会话cookie正常工作。我想这两个PHP超全局$_SESSION[]和魔吸气$this->session->set_userdata($newdata);而设置会话如何使Codeigniter会话与边缘一起工作?

这里是会话配置值:

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

这里是cookie的配置值:

$config['cookie_prefix'] = 'ncitce'; 
$config['cookie_domain'] = 'localhost'; 
$config['cookie_path'] = '/'; 
$config['cookie_secure'] = FALSE; 
$config['cookie_httponly'] = TRUE; 
+0

尝试使用vhost进行项目。 – user4419336

+0

并且在设置'echo $ this-> session-> userdata('user_id')后得到codeigniter会话' – user4419336

+0

对vhost没有任何意见。试图让虚拟主机运行,但没有奏效。稍后再看。我很匆忙。不管怎样,谢谢。我想我已经想出了你提到的虚拟主机。 –

回答

0

其实,我所有的CodeIgniter 3项目在Edge中工作正常。请尝试config.php文件,该配置

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

$config['cookie_prefix'] = ''; 
$config['cookie_domain'] = ''; 
$config['cookie_path']  = '/'; 
$config['cookie_secure'] = FALSE; 
$config['cookie_httponly'] = FALSE; 

记住在你的数据库中创建ci_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`) 
); 

如果上述方法失败,请在下面评论。

+0

是的,如果失败。但是,我创建了虚拟主机,一切正常。看起来边缘不想为localhost创建cookie。 –