Pengurusan sesi sangat penting apabila menulis aplikasi web menggunakan PHP. Dalam kebanyakan kes, sesi ialah cara untuk menjejaki operasi tapak web pengguna. Secara lalai, sesi PHP dimusnahkan selepas penyemak imbas ditutup.
Walau bagaimanapun, dalam banyak aplikasi, sesi itu perlu dimusnahkan pada masa tertentu atau selepas tempoh pengguna tidak aktif untuk meningkatkan keselamatan tapak web, mengurangkan penggunaan sumber, dsb.
PHP menyediakan kaedah untuk menetapkan masa sesi Terdapat dua cara untuk menetapkan kitaran hayat sesi: session.gc_maxlifetime dan session.cookie_lifetime. Perbezaan mereka dan cara menggunakannya akan diterangkan secara terperinci di bawah.
session.gc_maxlifetime merujuk kepada masa kitaran hayat maksimum yang diperlukan oleh mekanisme kutipan sampah sesi (iaitu survival masa sesi ), yang dikonfigurasikan dalam fail php.ini. Secara lalai, nilainya ialah 1440 saat, iaitu 24 minit. Apabila pengguna tidak melakukan sebarang operasi dalam masa 24 minit, mekanisme kutipan sampah PHP akan memusnahkan sesi tersebut. Jika anda perlu menambah atau mengurangkan jangka hayat sesi, anda boleh mengubah suai session.gc_maxlifetime kepada nilai yang anda perlukan.
Sebagai contoh, jika anda ingin melanjutkan hayat sesi kepada 1 jam, anda boleh menetapkan nilai session.gc_maxlifetime dalam php.ini kepada 3600 saat:
session.gc_maxlifetime = 3600
Selain itu, Anda juga boleh menggunakan fungsi ini_set untuk mengubah suai nilai session.gc_maxlifetime secara dinamik dalam skrip, contohnya:
ini_set('session.gc_maxlifetime', 3600);
Walau bagaimanapun, perlu diambil perhatian bahawa nilai ini tidak boleh terlalu besar, jika tidak, ia akan membazir pelayan sumber dan menyebabkan ralat soalan lain.
session.cookie_lifetime merujuk kepada masa kitaran hayat kuki Apabila kitaran hayat kuki tamat tempoh, sesi itu akan segera dimusnahkan. Masa ini dicapai dengan menetapkan masa tamat tempoh kuki. Secara lalai, kitaran hayat kuki PHP ialah 0, iaitu kuki akan dimusnahkan selepas menutup penyemak imbas. Jika anda ingin memanjangkan hayat kuki, anda boleh menetapkan session.cookie_lifetime kepada masa yang anda perlukan. Contohnya, jika anda ingin memanjangkan hayat kuki kepada 1 jam, anda boleh menetapkan session.cookie_lifetime kepada 3600 saat:
session.cookie_lifetime = 3600
Begitu juga, anda juga boleh menggunakan fungsi ini_set secara dinamik dalam skrip Ubah suai nilai daripada session.cookie_lifetime.
Perlu diambil perhatian bahawa menggunakan session.cookie_lifetime untuk menetapkan masa kitaran hayat sesi agak jarang berlaku, kerana dalam beberapa kes, seperti melawati tapak web yang tidak menyokong kuki atau melumpuhkan kuki, jika tiada kuki , sesi PHP tidak boleh memainkan peranan dalam penjejakan merentas halaman.
Ringkasan
Dalam PHP, terdapat dua kaedah untuk menetapkan kitaran hayat sesi iaitu session.gc_maxlifetime dan session.cookie_lifetime. Yang pertama dicapai dengan mengubah suai masa kitaran hayat maksimum mekanisme kutipan sampah, dan yang terakhir dicapai dengan menetapkan masa tamat tempoh kuki. Semasa penggunaan, pilih kaedah yang berbeza mengikut senario aplikasi yang berbeza untuk mencapai hasil yang lebih baik. Pada masa yang sama, untuk meningkatkan keselamatan dan penggunaan sumber tapak web, anda harus menetapkan masa sesi dengan munasabah.
Atas ialah kandungan terperinci Bagaimana untuk menetapkan masa sesi dalam php? Kongsi dalam dua cara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!