Ce face session_gc
PHP șterge sesiunile vechi (mai vechi de session.gc_maxlifetime secunde, implicit 1440) în mod aleatoriu, la o mică parte din apeluri session_start(). Pe site-uri cu trafic mic sau cu această curățare dezactivată, fișierele se adună.
session_gc face curățarea la cerere, de obicei dintr-un script rulat periodic (cron). Are nevoie de o sesiune activă.
Ce returnează
Numărul de sesiuni șterse, sau false la eroare.
Exemple
Exemplul 1: Curățare din cron
<?php
// curata-sesiuni.php, rulat la fiecare oră din cron
session_start();
$sterse = session_gc();
session_destroy();
echo "Sesiuni expirate șterse: $sterse";
Rezultat posibil (diferă la fiecare rulare)
Sesiuni expirate șterse: 37
Greșeli frecvente
- Apelezi
session_gc()fărăsession_start(). PrimeștiSession cannot be garbage collected when there is no active session.
Comenzi înrudite
session_start: Pornește sau reia sesiunea vizitatorului, ca să poți păstra date între pagini în $_SESSION.session_destroy / session_unset: Șterge datele sesiunii curente de pe server. Se folosește la deconectare (logout).session_save_path: Returnează sau schimbă directorul în care se salvează fișierele sesiunilor.