PHP: perdita di sessioni durante il cambio delle pagine

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 😉

  1. 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

placeholder-su-ie8-con-jquery
Up Next:

Placeholder su ie8 con jQuery

Placeholder su ie8 con jQuery