2017-01-30 64 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。 –