Идеальный размер сессии PHP? - PullRequest
16 голосов
/ 20 октября 2008

У меня есть форма PHP (ипотечное приложение), которая составляет около 400 полей, трафик на сайте будет низким.

Каков идеальный размер сеанса для 400 полей, входящих в базу данных MySQL?

В php.ini что мне установить?

Что-нибудь, что я должен установить, что мне не хватает?

Ответы [ 4 ]

15 голосов
/ 20 октября 2008

Нет ограничений на размер сессии, НО есть ограничение на объем памяти, который может занять PHP: http://ca.php.net/manual/en/ini.core.php#ini.memory-limit

13 голосов
/ 20 октября 2008

Ну, лично у меня были очень большие сессии с очень небольшими проблемами. Вероятно, самый большой размер, который у меня был раньше, составляет ~ 10 МБ. Это не оптимально, но у меня не было проблем с медленными скриптами даже при таком размере. Я не буду беспокоиться о том, что сессии станут большими, но я постараюсь держать их под контролем. Моя теория состоит в том, что если хранение в сеансе делает это намного быстрее, чем каждый раз запрашивает базу данных (например, в случае поиска), тогда я иду на это.

11 голосов
/ 08 мая 2010

Не рекомендуется хранить много данных в сеансе. Как и другие отметил, что это не идея дублировать данные из базы данных. Даже если вам действительно нужен какой-то механизм кэширования, вы не будете хранить данные в сеансе. Проблема в том, что PHP переписывает данные сеанса за каждый запрос. И, как мы все знаем, запись на диск довольно медленная работа.

Если вам действительно нужно это сделать, сериализуйте массив и сохраните его в отдельный файл.

Если вам нужен этот набор сериализованных данных только 1 на 10 страниц, вы только распакуйте его один раз в 10 страниц. Сессия - это, конечно, упаковка / распаковка для каждого запроса.

2 голосов
/ 16 октября 2012

Вы также должны проверить, post_max_size, max_input_vars (1000 по умолчанию, так что все в порядке)

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