Ho lavorato a una webapp che dovrebbe essere in grado di eseguire attività solo utilizzando AJAX. Sembra funzionare piuttosto bene, ma sto incontrando un problema, perché non memorizzo le variabili Session
sul sito pubblico.Utilizzo del database di sessione su più server Apache
La mia procedura di accesso è simile a quella di iCloud. Si arriva a una pagina che richiede un login. Il tuo login viene inviato a un server utilizzando AJAX e restituisce un true
o false
. Se è vero, la casella di accesso scompare e sei pronto per lavorare con le applicazioni.
Quando si sta guardando l'immagine qui sopra, vedrete le due caselle verdi come l'esatto stesso sito, senza rinfresca URL o niente. È semplicemente la stessa pagina.
Le caselle rosa rappresentano i server Apache che non ha registrato alcun Sessions
. La mia sessione è stata creata utilizzando l'idea session_set_save_handler
.
session_set_save_handler(
array($this, 'open'),
array($this, 'close'),
array($this, 'read'),
array($this, 'write'),
array($this, 'destroy'),
array($this, 'gc')
);
io non riesco a trovare un modo per il sito pubblico di chiedere per i dati a pink
server senza un ID di sessione. Qualcuno potrebbe dirmi l'idea dietro l'idea session_set_save_handler
come se avessi 6 anni? Ho letto il manuale PHP per i dettagli, ma mi confonde davvero.
Se qualcuno sa come questo metodo di comunicazione potrebbe funzionare correttamente, la prego di dirmelo. Tutti i server Apache sono connessi tramite una rete LAN e sono in grado di comunicare. Inoltre hanno tutti accesso allo stesso Session Class
in una libreria di inclusione di Apache.
suggerisco di serializzare/deserializzare '$ _SESSION' e conservarla all'interno di' tavolo Sessions'. – BlitZ
Ma in che modo un server Apache saprà quale sessione gestire durante una richiesta? – Dimser
Quando non ho letto male: salvi la nuova sessione in una tabella - in un punto centrale - da dove ogni server Apache può leggerlo? – bwoebi