Ce face session_save_path
Cu stocarea implicită (files), fiecare sesiune este un fișier sess_<id>. Dacă session.save_path este gol, PHP folosește directorul temporar al sistemului.
Pe un server partajat, e mai sigur un director propriu, în afara directorului public, cu acces doar pentru utilizatorul aplicației. Calea se setează înainte de session_start().
Parametri
| Parametru | Descriere |
|---|---|
$path |
Opțional. Noul director. |
Ce returnează
Calea curentă (sau cea veche, dacă o schimbi), ori false la eroare.
Exemple
Exemplul 1: Director propriu pentru sesiuni
<?php
$implicit = session_save_path();
if (!is_dir("sesiuni")) {
mkdir("sesiuni", 0700);
}
session_save_path(__DIR__ . "/sesiuni");
var_dump($implicit);
echo basename(session_save_path());
Rezultat
string(0) ""
sesiuni
Greșeli frecvente
- Pui sesiunile într-un director accesibil din browser (de exemplu în
public_html). Oricine poate citi fișierele și prelua sesiunile altora.
Comenzi înrudite
session_start: Pornește sau reia sesiunea vizitatorului, ca să poți păstra date între pagini în $_SESSION.session_gc: Pornește manual ștergerea sesiunilor expirate și returnează câte au fost șterse.session_module_name: Returnează sau schimbă modulul care stochează sesiunile (implicit files; altele: redis, memcached).