Oggi sto affrontando un problema con la libreria phpCas https://wiki.jasig.org/display/CASC/phpCAS .
Il problema è il seguente, quando provo a utilizzare qualche function di disconnessione, ho ricevuto il messaggio
Warning: session_destroy(): Trying to destroy uninitialized session
Dopo aver dato una rapida occhiata al codice della libreria di phpCas, riesco a capire da where viene il problema, ecco un frammento di una function di logout:
session_write_close(); header('Location: '.$cas_url); phpCAS::trace("Prepare redirect to : ".$cas_url); session_unset(); session_destroy();
Il problema sembra essere che session_write_close()
realtà chiuda la session, quindi session_destroy()
non può funzionare.
Ho cercato di inserire session_write_close()
nel commento e ha funzionato come un incantesimo ma port a due domande:
Il problema arriva davvero da lì? O dovrebbe funzionare?
Se il problema viene davvero da lì, perché è lì e nessuno si lamenta? Il phpCas pensato era una libreria rinomata usata da molti.
Sembra che tu abbia estratto il branch principale (2af859ff76) – appena controllato e che abbia un errore. Dovresti:
Come suggerisce il manuale " session_write_close – Scrivi i dati della session e termina session " Quindi stai ricevendo un avvertimento equo. come session è stata già chiusa.
FYI
hai bisogno di session_start (); prima che tu possa distruggerlo
anche l'intestazione ("Posizione …) invia intestazioni in modo da non poter chiudere la session in seguito. Effettua il reindirizzamento dopo aver chiuso la session