Dalam contoh ini, kami akan berasumsi bahwa Anda ingin mengakhiri sesi pengguna setelah 30 menit tidak aktif Show
Sayangnya, dengan PHP, Anda harus mengakhiri sesi pengguna secara manual. Kami akan menjelaskan alasannya nanti. Untuk saat ini, mari kita lihat contoh kodenya <?php //Start our session. session_start(); //Expire the session if user is inactive for 30 //minutes or more. $expireAfter = 30; //Check to see if our "last action" session //variable has been set. if(isset($_SESSION['last_action'])){ //Figure out how many seconds have passed //since the user was last active. $secondsInactive = time() - $_SESSION['last_action']; //Convert our minutes into seconds. $expireAfterSeconds = $expireAfter * 60; //Check to see if they have been inactive for too long. if($secondsInactive >= $expireAfterSeconds){ //User has been inactive for too long. //Kill their session. session_unset(); session_destroy(); } } //Assign the current timestamp as the user's //latest activity $_SESSION['last_action'] = time(); Telusuri cepat kode kedaluwarsa sesi di atas
sidang. gc_maxlifetime tidak berfungsiBeberapa dari Anda mungkin bertanya-tanya mengapa kami tidak merekomendasikan penggunaan session. gc_maxlifetime, yang merupakan opsi konfigurasi yang ada di dalam php. file ini Soalnya, masalah dengan session. gc_maxlifetime adalah bahwa ia tidak melakukan apa yang "diharapkan" oleh sebagian besar pengembang PHP Banyak pengembang menganggap bahwa ini adalah cara mudah untuk membuat PHP secara otomatis kedaluwarsa sesi setelah jangka waktu tertentu. Misalnya, mengaturnya ke… ;1800 seconds = 30 minutes session.gc_maxlifetime = 1800_ … harus secara otomatis kedaluwarsa semua sesi PHP setelah 30 menit, kan? Sayangnya, bukan itu masalahnya. Opsi ini bergantung pada pengumpulan sampah PHP (itulah kepanjangan dari gc di gc_maxlifetime). Masalahnya adalah, pengumpulan sampah PHP memiliki peluang 1% untuk dipanggil, per permintaan (nilai default) Ini berarti Anda tidak pernah dapat mengandalkannya untuk mengakhiri sesi pengguna secara otomatis Singkatnya, jika Anda memiliki 100 pengguna yang tidak aktif selama lebih dari 30 menit, maka hanya satu dari mereka yang sesinya akan berakhir. Artikel ini akan memperkenalkan metode untuk menghancurkan sesi di PHP menggunakan fungsi Kami juga akan mendemonstrasikan cara lain untuk menyetel batas waktu sesi di PHP menggunakan fungsi Kami akan memperkenalkan metode lain untuk membatalkan id sesi saat ini menggunakan fungsi Gunakan Fungsi session_unset() dan session_destroy() untuk Mengatur Batas Waktu Sesi di PHPKita dapat menggunakan fungsi 2 pada saat run-time dan menggunakan fungsi session_destroy() untuk menghancurkan sesi dari penyimpanan. Fungsi _4 mengembalikan waktu saat ini. Kita dapat menggunakan variabel 2 untuk menyimpan stempel waktu aktivitas terakhir. Dengan demikian, kita dapat mengecek waktu dengan menghitung selisih dari aktivitas terakhir dengan waktu saat ini. Dengan cara ini, kami memeriksa interval waktu sesiMisalnya, mulai sesi dengan fungsi 6 dan tetapkan fungsi 4. Temukan interval waktu sesi aktif seperti yang kami lakukan pada metode di atas. Jika kondisinya benar, gunakan fungsi session_destroy() 9. Perbarui variabel sesi. Di akhir skrip, cetak id sesi baru dengan fungsi session_destroy() 4
Bagaimana cara mengatur waktu kedaluwarsa di PHP?Batas batas waktu sesi dapat diatur dengan mengatur nilai dua direktif di php. file ini atau menggunakan fungsi ini_set() dalam skrip PHP . Arahan diberikan di bawah ini. Ini digunakan untuk mengatur batas waktu dalam detik untuk menyimpan informasi sesi di server untuk waktu yang lama.
Bagaimana cara meningkatkan waktu kedaluwarsa sesi di PHP?Jika Anda menggunakan penanganan sesi default PHP, satu-satunya cara untuk mengubah durasi sesi secara andal di semua platform adalah dengan mengubah php. ini . Itu karena di beberapa platform, pengumpulan sampah diimplementasikan melalui skrip yang dijalankan setiap waktu tertentu (skrip cron) yang dibaca langsung dari php.
Bagaimana cara mendapatkan batas waktu sesi di PHP?Prosedur . Masuk sebagai pengguna admin dengan kata sandi yang ditentukan untuk PORTAL. . Klik Server > Jenis Server > Server Aplikasi WebSphere > Portal WebSphere Klik Pengaturan Penampung > Pengelolaan sesi > Setel Waktu Tunggu Masukkan nilai batas waktu yang diinginkan dalam hitungan menit Klik Oke Klik Simpan Berapa lama batas waktu sesi dalam PHP?Waktu tunggu sesi PHP bergantung pada konfigurasi server atau sesi arahan yang relevan. gc_maxlifetime di php. file ini. Biasanya batas waktu sesi PHP default adalah 24 menit (1440 detik) , tetapi host web Anda mungkin telah mengubah default ke yang lain. |