Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengawal Tamat Masa Sesi dalam PHP?
Apabila bekerja dengan PHP, anda mungkin menghadapi keperluan untuk melaraskan tetapan tamat masa sesi lalai. Walaupun pengubahsuaian php.ini menawarkan penyelesaian, akses terhad kepada fail ini mungkin menggesa anda untuk mencari kaedah alternatif.
Untuk menguatkuasakan batas atas yang ketat pada ketidakaktifan sesi, kami boleh melaksanakan logik tersuai yang menyimpan terikat ini dalam data sesi:
session_start(); $now = time(); if (isset($_SESSION['discard_after']) && $now > $_SESSION['discard_after']) { // Session has expired, destroy and start a new one session_unset(); session_destroy(); session_start(); } // Set expiration time for both new and existing sessions $_SESSION['discard_after'] = $now + 3600;
Jika mengenakan had yang ketat tidak diperlukan, anda boleh bergantung pada parameter konfigurasi PHP tertentu untuk mewujudkan sempadan bawah:
// Server retains session data for at least 1 hour ini_set('session.gc_maxlifetime', 3600); // Clients retain session ID for exactly 1 hour session_set_cookie_params(3600); session_start();
Pendekatan ini mengarahkan pelayan untuk menyimpan data sesi pada kadar minimum selama satu jam dan pelanggan untuk membuang ID sesi mereka selepas yang sama tempoh.
Apabila mengenakan tamat masa sesi, adalah penting untuk menangani kedua-dua tetapan sisi klien dan sisi pelayan. Untuk kawalan maksimum dan kebolehramalan, gabungkan sempadan atas yang ketat dengan sempadan bawah session.gc_maxlifetime. Walau bagaimanapun, ambil perhatian bahawa pemeliharaan ID sesi mungkin memerlukan perhatian, terutamanya jika nilainya sensitif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengawal Tamat Masa Sesi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!