Apabila anda memulakan sesi PHP menggunakan session_start(), pelayan menjana ID sesi unik dan menyimpannya pada komputer pelanggan. Ini membolehkan pelayan mengenal pasti pengguna dan mengekalkan data sesi mereka merentas berbilang permintaan halaman. Walau bagaimanapun, terdapat jangka hayat terhingga yang dikaitkan dengan setiap sesi.
Hayat lalai sesi, atau tempoh ID sesi kekal sah, berbeza-beza bergantung pada konfigurasi PHP . Secara lalai, arahan session.gc_maxlifetime dalam fail php.ini anda mengawal tingkah laku ini.
session.gc_maxlifetime = 1440
Tetapan ini menentukan bahawa sesi akan tamat tempoh selepas 1440 saat, iaitu lebih kurang 24 minit.
Apabila anda memuat semula halaman, penyemak imbas menghantar permintaan HTTP baharu kepada pelayan. Jika anda telah mendayakan pengendalian sesi dengan memanggil session_start(), pelayan menyemak ID sesi yang dihantar dalam permintaan. Jika ID sesi masih sah (belum tamat tempoh), pelayan mendapatkan semula data sesi yang berkaitan dan sesi diteruskan.
Walau bagaimanapun, jika ID sesi telah tamat tempoh sejak permintaan halaman terakhir, pelayan akan memulakan sesi baharu dan tetapkan ID sesi baharu. Dalam kes ini, anda akan kehilangan akses kepada data yang disimpan dalam sesi sebelumnya.
Anda boleh mengubah suai hayat sesi dengan melaraskan tetapan session.gc_maxlifetime dalam php.ini anda fail. Jika anda ingin memanjangkan hayat sesi, tingkatkan nilai dalam beberapa saat. Sebaliknya, jika anda ingin memendekkan jangka hayat, kurangkan nilai.
Nota: Adalah penting untuk ambil perhatian bahawa hayat sesi dikawal terutamanya oleh tetapan session.gc_maxlifetime. Walau bagaimanapun, terdapat faktor lain yang boleh menjejaskan masa tamat tempoh sebenar, seperti tetapan penyemak imbas, konfigurasi pelayan dan algoritma kutipan sampah.
Atas ialah kandungan terperinci Berapa Lama Sesi PHP Bertahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!