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.

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

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