Bagaimanakah Sesi PHP Berfungsi: Mentafsir Kerja Dalaman
Bagaimanakah PHP membezakan antara sesi apabila berbilang pengguna mengakses pelayan yang sama dengan IP yang berbeza-beza alamat dan berbilang tetingkap penyemak imbas? Menggali fail sesi mungkin tidak memberikan kejelasan. Artikel ini bertujuan untuk membongkar mekanik rumit yang mendasari sesi PHP.
Fail dan Pengenalan Sesi
PHP menyimpan fail sesi biasanya dalam direktori /tmp/ pada pelayan. Setiap fail dinamakan sess_{session_id}. Mengenal pasti sesi yang dimiliki oleh pengguna yang kelihatan membingungkan memandangkan sifat ID sesi yang kelihatan rawak dan potensi untuk berbilang pengguna berkongsi alamat IP yang sama atau mengekalkan berbilang sesi penyemak imbas.
Pengurusan Sesi Berasaskan Kuki
Dalam kebanyakan senario, ID sesi dihantar kepada pengguna semasa penciptaan sesi. ID ini disimpan dalam kuki (biasanya dinamakan PHPSESSID) yang dihantar oleh penyemak imbas dengan setiap permintaan berikutnya. PHP memanfaatkan kuki ini dan ID sesi terkandungnya untuk menentukan fail yang sepadan untuk pengguna tertentu.
Data Sesi Bersiri
Data dalam fail sesi mewakili kandungan tatasusunan $_SESSION, bersiri ke dalam format rentetan menggunakan fungsi seperti bersiri. Apabila PHP memuatkan fail, ia menyahsiri data, membina semula tatasusunan $_SESSION.
Penghantaran ID Sesi Alternatif
Walaupun penghantaran ID sesi berasaskan kuki berleluasa, ia adalah perlu diingat bahawa kadangkala, ID sesi dikomunikasikan melalui URL. Walau bagaimanapun, pendekatan ini kurang biasa dalam aplikasi web moden.
Sumber Tambahan
Untuk mendapatkan cerapan yang lebih komprehensif tentang pengendalian sesi PHP, rujuk bahagian Pengendalian Sesi manual PHP . Ia menyediakan maklumat berharga, termasuk halaman khusus mengenai Lulus ID Sesi, yang menerangkan pelbagai kaedah yang digunakan untuk menghantar ID sesi melalui kuki atau URL.
Atas ialah kandungan terperinci Bagaimanakah PHP Menguruskan Berbilang Sesi Pengguna dengan IP yang Berbeza dan Windows Penyemak Imbas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!