2012-03-21 68 views
0

我遇到了一個我認爲是tinyMCE的問題,然後是我的db,現在我認爲這是我的會話var大小。我有一個連接到MySQL數據庫的PHP應用程序。有一個領域,其中有2900 +字符。當我加載頁面時,應該顯示此文本的區域完全丟失,或者一旦我從db中刪除了大量文本,我可以看到縮小的文本。在調試時,我看到持有介紹文本[session-> userdata-> ACCOUNT_INTRO_TEXT]的var表示長度爲1024(2963)。所以session var length/size是1024,但是發送了2963,所以var被截斷。如何增加此會話var的大小?PHP中的會話變量大小增加Mysql Codeigniter應用

+0

請發佈訪問數據的代碼,以及數據庫模式的相關部分。 – wallyk 2012-03-21 17:56:35

+0

爲什麼需要在會話中? – 2012-03-21 17:59:16

+0

嗨保羅,這是一個繼承的應用程序,所以我需要保持儘可能多的原始結構。 – user1176783 2012-03-21 20:28:41

回答

0

爲了幫助那些落後的人:

最後!最終發現了什麼是錯誤的 - 存儲在會話對象中的數據量存在大小限制。根據RFC 2109,這個大小限制是4KB。這是它。我知道我在某個地方遇到了一些限制,最後發現它在哪裏。不得不重新編寫一些代碼,這樣我纔可以只讀取這些文本部分,而不依賴會話中存儲的數據。

1

發生此問題可能是因爲您的會話正在存儲在Cookie中(實際上限於4k),因爲這是CodeIgniter會話的默認行爲。 請注意,CodeIgniter會話與PHP會話不同。

我習慣把數據庫中的會話,因爲笨手冊建議(見「保存會話數據到數據庫」一節):

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

這可能會解決你的問題,您將通過會話驗證機制獲得更好的安全性。 希望它有幫助!