Comme l'a dit @Thariama, il n'y a pas de limite au nombre de variables ; de même, il n'y a pas de limite à la quantité de données que vous pouvez stocker dans une session (j'ai vu des sessions de plusieurs dizaines de Mo).
Cependant, à mesure que la taille d'une session augmente, vous rencontrerez divers problèmes : PHP 5 désérialise la totalité de la session en mémoire à session_start()
(en utilisant le gestionnaire de session par défaut - vous pouvez créez votre propre solution ) ; avec une session de 20 MB et 50 utilisateurs simultanés, vos scripts commencent à être sévèrement limités par les vitesses d'accès au disque (a.k.a.. "scripts startup is slow as molasses" - les sessions seules accapareraient un Go de RAM) ; à la fin, nous avons dédié une boîte pour garder autant de sessions que possible dans sa RAM, et les boîtes frontales y accédaient par NFS (bien que cela ait aidé dans notre cas, cela peut être excessif pour vous).
Notez que pour un grand nombre d'utilisateurs simultanés et un stockage de la session sur le disque, le nombre de fichiers temporaires de la session peut poser des problèmes avec les limites du système de fichiers (par exemple, combien de fichiers peuvent se trouver dans un répertoire avant de rencontrer des problèmes de stat()
performance ), ou d'autres limites (nous avons découvert à nos dépens qu'une boîte était configurée pour n'autoriser que 4096 fichiers ouverts en même temps). Rien de tout cela n'est vraiment spécifique à la session, mais peut être déclenché par la gestion de la session.