Oggi vediamo un come risolvere la perdita e conseguente de-registrazione delle sessioni PHP durante il cambio delle pagine.
Panoramica
Premetto fin da subito che questo errore è molto strano, ma in un mio recente progetto mi sono imbattuto nella perdita randomizzata delle sessioni durante il cambio di pagina su un particolare server. La cosa più strana è infatti che su un differente server di test in cui avevamo testato l’applicazione tutto l’envoironment funzionava alla perfezione.
Dopo una lunga analisi e ricerche varie ho però scoperto che in un angolo sperduto della galassia il problema si era presentato anche ad altri colleghi. Il chè mi ha da un lato consolato, e dall’altro spronato a trovare una soluzione all’infausto problema.
[button link=”http://www.tristanwaddington.com/2009/02/php-session-data-lost-between-some-pages/” color=”blue” target=”blank” size=”large”]Un collega di sventura trovato nel web[/button]
Di fatto quello che ho capito è che per qualche motivo le sessioni durante il cambio pagina vengono de-registrate dalla cartella /tmp dove di solito vengono salvate come impostazione di default. Cambiando la directory di salvataggio delle stesse il problema si è risolto senza intoppi.
Nota: Per i posteri, e’ bene precisare che nel mio caso specifico avevamo integrato un’app sviluppata ad hoc PHP/MYSQL all’interno di WordPress.
Risoluzione del problema
Ecco come ho risolto:
Codice da inserire PRIMA di qualsiasi altra cosa nella pagina:
session_save_path ("/home/tuosito/public_html/data_sessioni"); session_start();
Ovviamente per richiamare la sessioni salvate nelle varie pagine dovrete prima far “puntare” la pagina alla cartella appena creata usando sempre la funzione session_save_path().
Spero vivamente che questo articolo possa aiutare coloro che hanno questo (strano) ma lagnoso problema e magari vi aiuti a usare meno tempo per risolverlo in futuro.
Ovviamente se avete altre soluzioni o se vi è mai capitato mi piacerebbe sentire la vostra opinione nei commenti 😉
GRAZIEEEEEEEEEEEEEE.
Mi sono preparato ad ore ed ore di ricerca condita di rabbia.
E invece ho trovato la soluzione al primo colpo nel tuo post.
Contento di essere utile ogni tanto 😀
ho provato anche io salvando la sessione altrove.
non va proprio ;-(
dopo 12 ore….di lavoro….ho scoperto il vero problema.
Cpanel, se cambi la versione di PHP, si reimposta un mucchio di parametri, oltre che a manipolare in piena autonomia il file htaccess…
Grazie a te ho risolto