Pepijat PHP lama: Pengepala Set-Kuki Pendua diterima?

藏色散人
Lepaskan: 2023-04-11 08:18:01
ke hadapan
4858 orang telah melayarinya

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 头
Salin selepas log masuk

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  ,依然可以对文件进行 写操作
Salin selepas log masuk

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
Salin selepas log masuk

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!

Label berkaitan:
sumber:yurunsoft.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan