Ce face session_status
Rezultatul este una dintre constantele: PHP_SESSION_DISABLED (0, sesiunile sunt dezactivate pe server), PHP_SESSION_NONE (1, sesiunile merg, dar nu a fost pornită niciuna) și PHP_SESSION_ACTIVE (2, sesiunea este pornită).
Cel mai des este folosită ca să pornești sesiunea o singură dată, în cod care poate fi inclus din mai multe locuri.
Ce returnează
Una dintre constantele PHP_SESSION_*.
Exemple
Exemplul 1: Starea înainte de pornire
<?php
var_dump(session_status() === PHP_SESSION_NONE);
var_dump(PHP_SESSION_DISABLED, PHP_SESSION_NONE, PHP_SESSION_ACTIVE);
Rezultat
bool(true)
int(0)
int(1)
int(2)
Exemplul 2: Pornire o singură dată
<?php
function pornesteSesiunea(): void
{
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
}
pornesteSesiunea();
pornesteSesiunea(); // nu mai face nimic
echo session_status() === PHP_SESSION_ACTIVE ? "Sesiune activă" : "Fără sesiune";
Rezultat în browser
Sesiune activă
Greșeli frecvente
- Verifici
if (session_id())ca să afli dacă sesiunea e pornită.session_idpoate fi setat și fără sesiune activă. Foloseștesession_status.
Comenzi înrudite
session_start: Pornește sau reia sesiunea vizitatorului, ca să poți păstra date între pagini în $_SESSION.session_write_close / session_commit: Salvează datele sesiunii și o închide, ca alte cereri ale aceluiași vizitator să nu mai aștepte după ea.