回答
它什麼都沒有做與笨會話,4KB的數據是cookie可以容納的最大尺寸。
持有更多的數據使用數據庫(見http://codeigniter.com/user_guide/libraries/sessions.html「保存會話數據到數據庫」)。
「將會話數據保存到數據庫」一章只解釋瞭如何使用CI_Session存儲驗證數據。您的「真實」數據始終存儲在cookie中,因此會話大小相同:4kb 請參閱http://codeigniter.com/wiki/DB_Session/或http://codeigniter.com/wiki/OB_Session/以供存儲在數據庫 – 2011-05-25 08:26:42
不是好的做法數據DB再次與再次命中了通用數據 – 2012-09-22 05:23:23
不要存放大量的會話數據;它會在每個請求中加載到腳本的內存中。
改爲使用文件或數據庫,使用會話ID將數據連接到會話。
是的,您將需要使用數據庫。是的,4kb限制是瀏覽器對cookie大小的限制,正如Netscape十年前所選擇的。無論如何,保持cookie小是一個很好的做法,因爲每個服務器上的對象(對於同一個域)的請求頭都會發送這個cookie。
此外,CodeIgniter關於數據庫會話表的一個好建議是將類型設置爲MEMORY,以便會話存儲在RAM而不是磁盤中,這會使您的站點更快(訪問站點時磁盤讀取更少)。當服務器重新啓動時,會丟失會話數據,但在重新啓動之前,該類信息通常不會太有用。
SQL創建的CodeIgniter MySQL表:
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(16) DEFAULT '0' NOT NULL,
user_agent varchar(50) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id)
);
CodeIgniter的PHP選項(在應用程序/配置/ config.php文件):
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
@all它甚至不是一個很好的做法,儘管Session可以爲此服務,但是再次針對常見數據再次敲入db &。我建議使用PHP本地會話爲此,在這裏看到了如何使用PHP原始會議在CI Replacing CI session with PHP Native Session
當我嘗試這樣做,我得到這個錯誤:出錯遇到 不存在的類:會議 – dapidmini 2016-10-11 05:17:36
- 1. PHP中的會話變量大小增加Mysql Codeigniter應用
- 2. Codeigniter中的會話
- 3. 會話:會話大小限制
- 4. CodeIgniter會話vs PHP會話
- 5. codeigniter中的會話值
- 6. CodeIgniter中的會話處理
- 7. CodeIgniter中的會話過期
- 8. codeigniter中的會話更新
- 9. 會話中的錯誤codeigniter
- 10. 會話中的Codeigniter對象?
- 11. PHP會話的最大大小
- 12. 會話(CodeIgniter)
- 13. CodeIgniter會話encryption_key
- 14. ASP.NET會話大小限制
- 15. 會話在CodeIgniter中死亡
- 16. 在codeigniter中銷燬會話
- 17. 在codeigniter中登錄會話
- 18. Codeigniter會話問題
- 19. CodeIgniter 3和會話
- 20. CodeIgniter會話錯誤
- 21. Codeigniter會話問題
- 22. Codeigniter會話問題
- 23. CodeIgniter 3 + Docker - 會話
- 24. Codeigniter會話問題
- 25. Codeigniter本地會話或ci會話庫
- 26. 的Java EE - 找到會話大小
- 27. 狀態會話bean池的大小
- 28. codeigniter中的會話未定義的屬性:CI :: $會話
- 29. 不同瀏覽器中會話數據的最大大小
- 30. IE9中的Codeigniter會話問題
CodeIgniter使用Cookie存儲會話信息。如果您要存儲如此大量的數據,您應該考慮使用數據庫來存儲信息。 – Malachi 2010-12-13 16:56:27
謝謝, 我改變了我的程序,不保存會話中的一些數據 – Pedro 2010-12-14 13:46:53