У меня есть PHP-форма (приложение для ипотеки), которая составляет около 400 полей, трафик на сайте будет низким.
Каков идеальный размер сеанса для 400 полей, входящих в MySQL db?
В php.ini
что я устанавливаю?
Что-нибудь, что я должен установить, что мне не хватает?
Нет ограничений на размер сеанса, но есть ограничение на память, которую может использовать PHP: http://ca.php.net/manual/en/ini.core.php#ini.memory-limit
Ну, лично у меня были очень большие сеансы до этого с очень небольшими проблемами. Вероятно, самый большой размер, который у меня был, составляет ~ 10 МБ. Это не оптимально, но у меня не было проблем с медленными скриптами даже с этим размером. Я бы не стал беспокоиться о том, что сессии станут большими, но я постараюсь держать его под контролем. Моя теория заключается в том, что если сохранить ее в сеансе, она будет намного быстрее, чем запрашивать базу данных каждый раз (например, в случае поиска), тогда я за нее.
Не рекомендуется хранить много данных в сеансе. Как отмечали другие, не рекомендуется дублировать данные из базы данных. Даже если вам действительно нужен какой-то механизм кэширования, вы не будете хранить данные в сеансе. Проблема в том, что PHP переписывает данные сеанса для каждого запроса. И, как мы все знаем, запись на диск – довольно медленная операция.
Если вам действительно нужно это сделать, сериализуйте массив и сохраните его в отдельном файле.
Если вам нужна эта группа сериализованных данных только 1 на 10 страницах, вы только распаковываете ее один раз на 10 страницах. Сессия, конечно же, упаковка / распаковка для каждого запроса.
Вы также должны проверить, post_max_size, max_input_vars (1000 по умолчанию, так что вы в порядке)