Rumah >pembangunan bahagian belakang >tutorial php >Pepijat PHP lama: Pengepala Set-Kuki Pendua diterima?

Pepijat PHP lama: Pengepala Set-Kuki Pendua diterima?

藏色散人
藏色散人ke hadapan
2022-10-18 16:53:474901semak imbas

Pepijat PHP lama: Pengepala Set-Kuki Pendua diterima?

Bagaimana untuk menyelesaikan masalah yang PHP mengeluarkan pengepala Set-Kuki Sesi pendua?

Saya menghadapi pepijat lama hari ini yang tidak pernah saya temui sebelum ini. Respons bahagian hadapan menerima dua pengepala Set-Cookie pendua.

Saya hairan dan selepas beberapa lama menyelesaikan masalah, saya akhirnya menentukan bahawa ia disebabkan oleh panggilan berulang ke fungsi session_start().

Setiap kali fungsi session_start() dipanggil, pengepala Set-Cookie akan dikeluarkan.

Penyelesaian:

session_start();
session_abort();
header_remove('Set-Cookie'); // 移除 Set-Cookie 头

Sambungan:

Fail sesi yang sepadan selepas session_start() dikunci sehingga penghujung skrip semasa akan menjadi tidak berkunci.

Semasa tempoh kunci, jika proses mengakses id sesi yang sama, session_start() tidak akan bermula sehingga fail dibuka kuncinya.

session_start();                               //starts the session,独占对应session id的文件
$_SESSION['user']="Me";               将变量写入对应的session 文件
session_write_close();                   // close write capability   ,关闭对文件 的 写独占
echo $_SESSION['user'];              // you can still access it  ,依然可以对文件进行 写操作

Nilai lalai session.cookie_lifetime ialah 0, yang bermaksud bahawa kuki menjadi tidak sah apabila penyemak imbas ditutup

Selain mengkonfigurasi cookie_lifetime dalam php.ini, ia boleh. juga ditetapkan melalui fungsi session_set_cookie_params.

session.gc_maxlifetime lalai kepada 1440 saat, iaitu, jika selang masa antara dua permintaan pengguna melebihi 1440 saat,

sesi sebelah pelayan fail akan dianggap sebagai sampah oleh PHP, jika gc_probability/gc_divisor Jika sama dengan 1, fail sesi akan dipadamkan dan dikitar semula

Tetapkan kuki sesi dan fail sesi untuk tamat tempoh selepas 86400 saat (1 hari):

session.cookie_lifetime=86400
session.gc_maxlifetime=86400
session.gc_probability=1
session.gc_divisor=1

Pembelajaran yang disyorkan: "Tutorial Video PHP

Atas ialah kandungan terperinci Pepijat PHP lama: Pengepala Set-Kuki Pendua diterima?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yurunsoft.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam