Originariamente inviato da Fabio Heller
Inizialmente credevo anch'io che i cookies venissero rinnovati di volta in volta, invece no: se imposti come durata di default del cookie 30 secondi, la sessione durerà comunque al massimo 30 secondi anche se non fai pause nella navigazione. Conclusione: si perde la sessione.
Invece i files sul server, dureranno il tempo stabilito nel php.ini ma hanno soltanto un x% di probabilità di essere eliminati.

Provo a riassumere questo "casino"

1) I file di sessione sul server vengono rinnovati ad ogni accesso purchè questo avvenga entro il tempo fissato in session.gc_maxlifetime MA potrebbero non venire eliminati mai anche se scaduti (dipende dalla probabilità in session.gc_probability), quindi indovinando l'id di sessione (oppure salvandolo tra i preferiti nell'url della pagina)la sessione potrebbe risultare eterna.

2) Se sono temporanei (session.cookie_lifetime=0) i cookies
mantengono il collegamento con la sessione fino alla chiusura della finestra del browser invece, se hanno una scadenza precisa, solo fino alla scadenza (che non viene rinnovata di volta in volta).
Se proprio li vuoi rinnovare, prima che scadano, forse lo puoi fare "manualmente" ma non ho provato...
<?

$si= session_id() ;
$scadenza= 600 ; //10 minuti in secondi
setcookie ("PHPSESSID",$si,time()+ $scadenza);

?>
Ciao Fabio,
ho fatto delle ricerche circa questo comportamento anomalo che denunciavi. Sto usando PHP5.
Ho impostato la scandenza del cookie di sessione a 30 secondi (session_set_cookie_param(30))

Questi sono gli header scambiati
codice:
GET /index2.php HTTP/1.1
...
----------------------------------------------------------
HTTP/1.x 200 OK
Date: Sun, 21 Nov 2004 09:09:10 GMT
Set-Cookie: PHPSESSID=c72e7ac59cd56915a424be3b6f27c80d; expires=Sun, 21-Nov-2004 09:09:40 GMT; path=/
....

----------------------------------------------------------
----------------------------------------------------------

POST /index2.php HTTP/1.1
Cookie: PHPSESSID=c72e7ac59cd56915a424be3b6f27c80d
----------------------------------------------------------
HTTP/1.x 302 OK
Date: Sun, 21 Nov 2004 09:09:38 GMT
...
Set-Cookie: PHPSESSID=c72e7ac59cd56915a424be3b6f27c80d; expires=Sun, 21-Nov-2004 09:10:08 GMT; path=/
Location: main.php
...
come puoi vedere, ad ogni risposta del server, viene reinviato il cookie di sessione, ovviamente di identico valore ma con scadenza posticipata di altri 30 secondi. Sembra quindi che PHP5 non abbia i problemi da te riscontrati. Non ho fatto prove con PHP4 a riguardo.