Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menetapkan masa tamat Sesi dalam PHP
Apabila menulis tapak web PHP, pembangun sering menyimpan data pengguna dalam Sesi untuk melaksanakan fungsi seperti pemindahan maklumat merentas halaman dan pengesahan pengguna. Secara lalai, Sesi PHP dikosongkan secara automatik apabila sesi tamat, atau tamat tempoh apabila penyemak imbas ditutup. Walau bagaimanapun, kadangkala pembangun perlu mengawal masa tamat sesi dengan lebih tepat untuk memastikan sesi itu sah untuk tempoh masa tertentu. Artikel ini akan memperkenalkan cara untuk menetapkan masa tamat tempoh Sesi dalam PHP.
Sebelum kita bermula, kita perlu memahami dua konsep berikut:
ID Sesi: Setiap pengguna menetapkan sesi dengan pelayan , ID Sesi unik diberikan untuk mengenal pasti keadaan sesi pengguna.
Pembolehubah sesi: Pembolehubah sesi merujuk kepada pembolehubah yang disimpan di bahagian pelayan semasa sesi.
2.1. Ubah suai fail php.ini
masa tamat sesi PHP boleh didapati dalam php. ini fail konfigurasi Tetapkan, menggunakan parameter session.gc_maxlifetime, dalam beberapa saat. Secara lalai, nilainya ialah 1440 saat, iaitu 24 minit. Anda boleh mengubah suainya dengan mengikuti langkah di bawah:
Mengubah suai parameter ini akan menjejaskan masa tamat Sesi semua skrip PHP.
2.2. Tetapkannya dalam kod
Jika anda hanya perlu mengubah suai masa tamat tempoh Sesi halaman tertentu atau menetapkan masa tamat Sesi secara dinamik seperti yang diperlukan dalam kod, anda boleh menggunakan kod berikut:
session_start(); // Mulakan Sesi
$expireTime = 60*30; // Masa tamat tempoh ialah 30 minit
$_SESSION['timeout' ] = masa () + $expireTime; // Tetapkan masa tamat tempoh pembolehubah Sesi yang ditentukan
?>
Dalam kod, gunakan $_SESSION['masa tamat'] untuk menentukan pembolehubah Sesi yang berkaitan kepada masa tamat tempoh. Ia menyimpan nilai cap masa semasa (masa()) ditambah masa tamat tempoh ($masa tamat). Setiap kali anda melawat halaman, anda boleh menyemak sama ada pembolehubah ini telah tamat tempoh Jika ia telah tamat tempoh, panggil fungsi session_destroy() untuk memusnahkan Sesi.
2.2.1 Dengan mengubah suai parameter kitaran hayat Sesi
Anda juga boleh menggunakan fungsi session_set_cookie_params() untuk menetapkan masa tamat tempoh Sesi dalam kod. Fungsi ini boleh menerima berbilang parameter, yang paling penting ialah parameter kitaran hayat Sesi, yang menentukan masa tamat tempoh Sesi.
Berikut ialah contoh:
session_start();
$expireTime = 60*30; // Masa tamat tempoh ialah 30 minit
session_set_cookie_params( $expireTime);
?>
Kod ini akan menetapkan masa tamat tempoh Sesi kepada 30 minit.
Sama ada dengan mengubah suai fail php.ini, menetapkannya dalam kod atau menetapkannya melalui parameter kitaran hayat Sesi, terdapat nota berikut:
Sesi ialah ciri yang sangat penting semasa menulis aplikasi PHP. Dengan menetapkan masa tamat sesi, anda boleh melindungi keselamatan data pengguna dengan lebih baik dan mengelakkan pembaziran sumber pelayan yang tidak perlu.
Atas ialah kandungan terperinci Bagaimana untuk menetapkan masa tamat Sesi dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!