Rumah pembangunan bahagian belakang masalah PHP php set sesi menjimatkan masa

php set sesi menjimatkan masa

May 22, 2023 pm 09:55 PM

Dalam pembangunan laman web, sesi adalah mekanisme yang sangat penting Ia boleh membantu laman web menyimpan maklumat log masuk pengguna, data troli beli-belah dan maklumat lain yang serupa untuk mengekalkan konsistensi data semasa pengguna melayari laman web. Biasanya, masa penyimpanan sesi adalah sangat singkat kerana sebaik sahaja pengguna menutup pelayar, sesi akan dimusnahkan. Tetapi dalam beberapa kes di mana maklumat pengguna perlu disimpan untuk masa yang lama, kami perlu menetapkan masa penyimpanan sesi. Artikel ini akan memperkenalkan cara menetapkan masa penyimpanan sesi PHP.

  1. masa penyimpanan sesi

Sesi bergantung pada kuki, jadi kami secara tidak langsung boleh mengawal masa penyimpanan sesi dengan menetapkan masa tamat tempoh kuki. Apabila halaman menyimpan sesi dalam kuki, kuki itu disimpan pada mesin pengguna untuk tempoh masa tertentu dan dikosongkan oleh penyemak imbas selepas tamat tempoh. Dengan cara ini, sesi akan dimusnahkan kerana kuki yang sepadan tidak dapat ditemui.

Secara lalai, masa tamat tempoh kuki adalah semasa sesi penyemak imbas, yang bermaksud bahawa kuki akan sentiasa wujud selagi penyemak imbas tidak ditutup. Tetapi dengan menetapkan masa tamat tempoh kuki, kami boleh mengawal masa penyimpanan kuki dan dengan itu masa penyimpanan sesi. Berikut ialah contoh:

// 设置过期时间为30天
$expire_time = time() + 60 * 60 * 24 * 30;
setcookie('session_id', session_id(), $expire_time);
Salin selepas log masuk

Dalam kes ini, kami menggunakan fungsi setcookie untuk menetapkan kuki session_id supaya sesi masih boleh diakses selepas penyemak imbas ditutup. Pembolehubah $expire_time ditetapkan kepada cap masa semasa dalam saat ditambah dengan bilangan saat dalam 30 hari, iaitu kuki ini akan tamat tempoh dalam masa 30 hari.

  1. session.gc_maxlifetime

Kami juga boleh menetapkan jangka hayat maksimum sesi dengan mengubah suai pilihan session.gc_maxlifetime dalam fail php.ini. Pilihan ini menentukan hayat sesi maksimum, dalam saat. Apabila sesi tamat, iaitu, selepas masa ini, ia akan dimusnahkan secara automatik oleh mekanisme pengumpulan sampah PHP. Secara lalai, nilai pilihan ini ialah 1440 saat (iaitu, 24 minit Kami boleh mengubah suai nilai ini dalam fail php.ini seperti berikut:

session.gc_maxlifetime = 1800
Salin selepas log masuk

Ini akan menjadikan semua sesi mempunyai 30 Minit storan). masa, jika masa yang lebih lama diperlukan, nilai ini boleh ditetapkan kepada nilai yang lebih besar.

Perlu diambil perhatian bahawa jika kami menetapkan masa hayat sesi maksimum terlalu lama, ia mungkin menduduki terlalu banyak sumber pelayan dan menyebabkan beban pelayan menjadi terlalu tinggi.

  1. session_set_cookie_params

Selain menggunakan fungsi setcookie untuk menetapkan masa tamat tempoh kuki dan menetapkan jangka hayat maksimum sesi dengan mengubah suai pilihan session.gc_maxlifetime dalam fail php.ini, kami Anda juga boleh menggunakan fungsi session_set_cookie_params yang disediakan oleh PHP untuk menetapkan beberapa parameter kuki, dengan itu secara tidak langsung mengawal masa penyimpanan sesi. Fungsi ini menerima 4 parameter:

session_set_cookie_params($lifetime, $path, $domain, $secure);
Salin selepas log masuk

Antaranya:

  • $lifetime: cookie lifetime, dalam saat
  • $path: cookie path; 🎜>$domain: nama domain kuki;
  • $secure: sama ada kuki hanya boleh dihantar melalui protokol HTTPS.
  • Apabila kami menggunakan fungsi session_start untuk memulakan sesi, parameter ini akan berkuat kuasa untuk mengawal masa penyimpanan sesi. Berikut ialah contoh kod yang menggunakan fungsi session_set_cookie_params untuk menetapkan jangka hayat kuki:
// 设置cookie的路径为整个域名,生存时间为1小时
session_set_cookie_params(3600, '/');
session_start();
Salin selepas log masuk

Dalam contoh ini, kami menetapkan jangka hayat kuki kepada 1 jam dan laluan kuki kepada keseluruhan nama domain. sesi akan Disimpan pada klien dalam tempoh masa ini. Pendekatan ini lebih fleksibel daripada menetapkan masa tamat tempoh kuki secara langsung, kerana kami juga boleh mengubah suai laluan kuki dan nama domain pada bila-bila masa untuk mengawal masa penyimpanan sesi dengan baik.

Ringkasan
  1. Sesi ialah mekanisme yang sangat penting dalam pembangunan web. Ia boleh menyediakan banyak ciri berguna untuk tapak web, seperti pengesahan pengguna, troli beli-belah, dsb. Jika kita perlu menyimpan maklumat pengguna untuk jangka masa yang panjang, kita perlu mengawal masa penyimpanan sesi. Dalam PHP, kita boleh mencapai ini dengan menetapkan masa tamat tempoh kuki, mengubah suai pilihan session.gc_maxlifetime dalam fail php.ini atau menggunakan fungsi session_set_cookie_params. Perlu diingatkan bahawa masa storan sesi yang terlalu lama boleh meningkatkan beban pelayan dan menyebabkan masalah pelayan, jadi kami harus menetapkan masa storan sesi secara munasabah mengikut keperluan sebenar.

Atas ialah kandungan terperinci php set sesi menjimatkan masa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Mar 20, 2025 pm 04:57 PM

Artikel membincangkan mendapatkan data dari pangkalan data menggunakan PHP, meliputi langkah, langkah keselamatan, teknik pengoptimuman, dan kesilapan umum dengan penyelesaian.

Apakah tujuan penyataan yang disediakan dalam PHP? Apakah tujuan penyataan yang disediakan dalam PHP? Mar 20, 2025 pm 04:47 PM

Kenyataan yang disediakan dalam PHP meningkatkan keselamatan pangkalan data dan kecekapan dengan mencegah suntikan SQL dan meningkatkan prestasi pertanyaan melalui kompilasi dan penggunaan semula.

See all articles