Увеличение размера сеанса в приложении PHP Mysql Codeigniter - PullRequest
0 голосов
/ 21 марта 2012

У меня была проблема, которая, как мне показалось, была tinyMCE, потом моя БД, теперь я думаю, что это размер моей сессии. У меня есть php приложение, подключенное к базе данных mysql. Есть поле, в котором более 2900 символов. Когда я загружаю страницу, область, в которой должен отображаться этот текст, либо полностью отсутствует, либо когда я удаляю большой кусок текста из БД, я вижу уменьшенный текст. Во время отладки я увидел, что переменная, содержащая вводный текст [session-> userdata-> ACCOUNT_INTRO_TEXT], говорит 1024 (2963) для длины. Таким образом, длина / размер сеанса var равна 1024, но отправляется 2963, поэтому var усекается. Как мне увеличить размер этой сессии var?

Ответы [ 2 ]

1 голос
/ 28 марта 2012

Эта проблема возникает, вероятно, из-за того, что ваш сеанс хранится в файле cookie (который действительно ограничен 4k), поскольку это поведение по умолчанию для сеансов CodeIgniter.Обратите внимание, что сеансы CodeIgniter отличаются от сеансов PHP.

Я использовал для помещения сеанса в базу данных, как рекомендует руководство CodeIgniter (см. Раздел «Сохранение данных сеанса в базе данных»):

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

Это, вероятно, решит вашу проблему, и вы получите лучшую безопасность с помощью механизма проверки сеанса.Надеюсь, это поможет!

0 голосов
/ 27 марта 2012

Чтобы помочь тем, кто за этим стоит:

НАКОНЕЦ! НАКОНЕЦ обнаружил, что было не так - существует ограничение на размер данных, хранящихся в объекте сеанса. И в соответствии с RFC 2109 это ограничение размера составляет 4 КБ. Вот и все. Я знал, что где-то достигал какого-то предела, и наконец понял, где это. Пришлось переписать некоторый код, чтобы я мог тянуть только эти текстовые разделы и не полагаться на данные, хранящиеся в сеансе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...