簡體   English   中英

Codeigniter在每個頁面加載時創建新會話

[英]Codeigniter creating new session on every page load

我使用codeigniter 2.1.0為客戶開發和電子商務網站。 該網站已經運行了大約3個月,然后突然,登錄沒有堅持,會話數據沒有設置。 我檢查了數據庫,發現每次加載頁面時都會創建一個新會話。

這是我的配置值

$config['sess_cookie_name']     = 'myu';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = '_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 3600;

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

我在會話表上編輯了user_agent字段以容納long user_agent字符串。 可能是什么問題呢? 我會很樂意提供任何幫助

確保在$config['cookie_domain'] /application/config/config.php中設置了正確的域名

您還應該檢查會話表中“user_agent”的大小。 我在“varchar(40)”中遇到了一些問題,因為MacOS(山獅,版本20.0)中Firefox的用戶代理在您的UA中報告了超過60個字符。

將字段從“varchar(40)”更改為“varchar(255)”解決了我的問題。

我發布這篇文章是為了幫助其他人。 我嘗試了多個網站上提到的許多建議,並在此工作了2天。 沒有一個解決方案有效。

然后我決定檢查我的cookie中顯示的內容。 我設置$config['sess_encrypt_cookie'] = FALSE; 在config.php文件中,以便我可以讀取數據並刪除所有舊cookie。 我還將$config['sess_cookie_name']更改為網站名稱。 它最初是默認的'cisession'。 突然間,它開始正常工作。 我不知道是不是清除了我的舊cookie或關閉加密或更改了產生差異的名稱,但我很高興它終於正常工作了。 我猜可能是我的cookie已損壞。 由於我已經看到網站建議對相同設置提出完全不同的建議(例如,有些人說保留['cookie_domain']為空白,有人說添加你的根域(至少有2個句點),等等),我包括我的設置在config.php文件中:

$config['sess_cookie_name']     = 'easyeverydayenglish';
$config['sess_expiration']      = 14400;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

$config['cookie_prefix']    = "";
$config['cookie_domain']    = ".eee.loc";
$config['cookie_path']      = "/";
$config['cookie_secure']    = FALSE;

現在我的下一個問題是嘗試讓CI在goDaddy上運行。 Arghh。

暫無
暫無

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

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