Как сказал @Thariama, нет ограничений на количество переменных; Кроме того, нет ограничений на объем данных, которые вы можете сохранить в сеансе (я видел несколько десятков мегабайт).
Поскольку размер сессии становится больше, вы будете работать в различных причуд, хотя: PHP 5 десериализует всю сессию в память при session_start()
(с помощью обработчика сессии по умолчанию - вы можете make you own solution, конечно); с сеансом 20 МБ и 50 одновременными пользователями, ваши сценарии начинают сильно ограничиваться скоростью доступа к диску (запуск сценария «a.k.a.» медленный, как меласса »- только сеансы будут забивать ГБ ОЗУ); в конце концов, мы выделили коробку для хранения как можно большего количества сеансов в своей ОЗУ, а ящики с интерфейсом обратились к ним через NFS (хотя это помогло в нашем случае, это может быть излишним для вас).
Обратите внимание, что для многих одновременных пользователей и хранения сеанса на диске количество временных файлов сеанса может создавать проблемы с ограничениями файловой системы (например, сколько файлов может находиться в одном каталоге до того, как вы столкнетесь с проблемами с stat()
performance) или другим (мы однажды нашли трудный способ, чтобы ящик был настроен только для 4096 открытых файлов одновременно). Все это не зависит от сеанса, но может быть вызвано обработкой сеанса.
Вопрос не в том, сколько переменных сеанса у меня есть, но сколько данных каждый из них может хранить. – jolt 2010-11-25 08:26:44