Provo anch'io a dare il mio contributo.

Mi sono trovata nella condizione di dover controllare se una sessione è attiva o è scaduta. Dato che la sessione genera un cookie, ho eseguito il controllo così:

Codice PHP:
function checkSession(){
    if(isset(
$_COOKIE[session_name()])){
        return 
true;
    }else{
        return 
false;
    }

Stranamente session_name() mi viene dato anche se non ho fatto nessun session_start(). Comunque...

Per far questo controllo ho usato un aprocedura di logout che cancella il cookie di sessione. Infatti il solo session_destroy() non lo elimina. Usando:

Codice PHP:
session_start();
session_destroy();
unset(
$_COOKIE[session_name()]); 
pensavo di essere a posto, ma ho scoperto che il cookie non veniva cancellato. Quindi ho dovuto farlo scadere in questa maniera:

Codice PHP:
session_start();
setcookie(session_name(),""time() - 3600);
unset(
$_COOKIE[session_name()]);
session_destroy(); 
Spero di esservi stata utile e di non aver scoperto l'acqua calda...