簡體   English   中英

將會話存儲在Codeigniter中的最佳方法

[英]best way to store session in codeigniter

我想在我的網站上使用會話 ,但是我找不到最佳的存儲方式, codeigniter提供了文件數據庫等。 但是哪個最好?

我使用此配置文件:

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_save_path'] = '_s';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 0;
$config['sess_regenerate_destroy'] = FALSE;

但我得到這個錯誤:

Unable to create file ./_s\ci_sessionecc1dccdd1118e02ee956dde8aadaf7f1116c1ac because No such file or directory

我必須使用數據庫

我發現最好的方法是在您的系統目錄中創建一個cache / session /文件夾,這更安全。我將重要內容(例如日志和緩存)放在系統文件夾中,而不是應用程序文件夾中。

http://www.codeigniter.com/user_guide/libraries/sessions.html

Config.php

$config['encryption_key'] = 'somekey';

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = BASEPATH . 'cache/sessions/';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;

我也會自動加載會話

application / config / autoload.php

$autoload['libraries'] = array('database', 'session');

使用范例

在登錄form_validation成功部分

$data = array(
'is_logged' => true,
'username' => $this->input->post('username')
);

$this->session->set_userdata($data);

您設置數據后登錄后即可獲得會話$this->session->userdata('username')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM