Nous avons tous constaté que la 3G passe par un proxy et que l'IP du visiteur change aléatoirement d'une page à l'autre (voir l'article précédent ici).
En mutu c'est un cluster qui gère la répartition des requêtes vers les stockages appropriés, le cluster peut nous balader d'un serveur à l'autre pour équilibrer les charges surtout si on change d'IP entre chaque requête. Nous ignorons chez la plupart des hébergeurs "low cost" la solution choisie pour gérer les sessions (séparément sur chaque serveur, groupées sur un /temp commun, en BDD... ?), dans la plupart des cas c'est l'adresse IP du visiteur qui est utilisée pour restituer à chacun sa session. Chez OVH par exemple, lorsqu'on change d'IP la session persiste (session ID) mais les variables ne suivent pas, puis si le proxy vous réattribue une IP précédente, hop !! vous retrouvez vos variables de sessions. Galère !!!

STOCKEZ VOS SESSIONS CHEZ VOUS et tout rentre dans l'ordre :

<?php
session_save_path($_SERVER['DOCUMENT_ROOT']."/../Sessions");
session_start();

----
?>


session_save_path("chemin_vers_dossier_Session")ou init_set("session.save_path","chemin_vers_dossier_Session")permettent de stocker les sessions dans votre espace, il faut créer un dossier "Sessions" de préférence au même niveau que www (c'est plus sur), donnez-lui un autre nom pour renforcer la discrétion ("Visites" par exemple).
Attention : ces fonctions semblent désactivées sur la version 6 de PHP chez OVH restez sur PHP 5

Cette solution rend d'ailleurs les sessions plus sures, mais pas autant que le stockage en BDD... Elle vous donne aussi la main sur le réglage de la durée si besoin.
N'oubliez pas d'insérer :
session_set_cookie_params(0, '/', '.monsite.com');pour que la même session se poursuive aussi bien sur monsite.com et www.monsite.com.
Pour plus de sécurité donnez un nom perso à vos sessions (ex: ClientDuSite) à la place du PHPSESSID par défaut, en plaçant
session_name('ClientDuSite');
Gardons bien à l'esprit que la plupart des fonctions PHP qui modifient la config de base se placent avant le session_start() et sur chaque script qui appelle une session.

Dernière précision, il faut vider régulièrement le dossier où vous stockerez vos sessions, il ne se vide pas tout seul. Lancez un "script nettoyeur" (cron, php) qui fera automatiquement le ménage tous les soirs... ou le matin.

Et que vive la 3G, tant qu'on ne me prouvera pas que les micro-ondes (ULF) utilisées donnent bien le cancer...