PHP收到重复的Set-Cookie头怎么解决


本篇内容介绍了“PHP收到重复的Set-Cookie头怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP 输出重复的 Session Set-Cookie 头怎么解决?今天遇到个陈年bug,之前一直没发现。前端反应收到了两次,重复的 Set-Cookie 头。百思不得其解,排查半天终于确定是反复调用 session_start() 函数导致的。session_start() 函数每调用一次,就会输出一次 Set-Cookie 头。解决办法:

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

拓展:session_start()后 对应的session文件是被锁定的,直到当前脚本结束才会解锁。在锁定期间,令一个进程访问相同session id 要等文件解锁后session_start()才会开始。

session_start();//startsthesession,独占对应sessionid的文件
$_SESSION['user']="Me";将变量写入对应的session文件
session_write_close();//closewritecapability,关闭对文件的写独占
echo$_SESSION['user'];//youcanstillaccessit,依然免费云主机域名可以对文件进行写操作

session.cookie_lifetime 默认是0,也就是关闭浏览器时cookie失效.除了php.ini里配置cookie_lifetime,还可以通过函数session_set_cookie_params进行设置.session.gc_maxlifetime 默认是1440秒,也就是说,如果用户的两次请求的时间间隔超过1440秒,则服务器端的会话文件将被PHP视为垃圾,如果gc_probability/gc_divisor等于1,则会话文件将被删除回收.设置会话cookie和会话文件86400秒(1天)后过期:

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

“PHP收到重复的Set-Cookie头怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

“PHP收到重复的Set-Cookie头怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: Golang怎么实现https证书有效期检测

这篇文章主要介绍了Golang怎么实现https证书有效期检测的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Golang怎么实现https证书有效期检测文章都会有所收获,下面我们一起来看看吧。原理:使用go提供的模块 crypto…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/13 12:40
Next 02/13 12:47

相关推荐