La session PHP viene distrutta dopo la modifica dell'agente utente

Ho questo indirizzo example.com/page1 . Ad esempio, l'agente utente del visitatore è simile a questo: Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B146 . Corro session_id() e l'ID session PHP è 12345. Posso vedere il file "sess_12345" nella cartella temporanea. Ha tutte le variables di session al suo interno.

Dopo qualche elaborazione, lo reindirizzo su example.com/page2 . L'agente utente del visitatore cambia in questo: Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B146 Twitter for iPhone . session_id() ancora session_id() e scopro che l'ID è ancora 12345. Ma quando controllo il file "sess_12345", vedo che è stato cancellato.

Ciò accade solo quando gli utenti accedono al mio sito web dall'applicazione "Twitter per iPhone". Immagino che il file di session venga cancellato a causa del cambio di user-agent, ma non ne sono sicuro. Quale può essere la causa?

(Le sessioni funzionano correttamente tranne questo caso. Uso CakePHP 2.4)

Cake ha un'impostazione che controllerà l'agente utente del browser. Se cambia, distruggerà la session. Distriggers questa impostazione:

Session.checkAgent