查看关于设置cookie的php文档,我看到我可以为cookie设置过期日期。您可以将cookie设置为在浏览器会话结束时过期,或者在将来的某个时间过期,但我不知道如何将cookie设置为永不过期。这可能吗?这是如何实现的?
当前回答
我的特权阻止我对第一篇文章发表评论,所以它必须在这里。
从当前日期提前20年设置时,应该考虑到2038 unix错误,这是上面建议的正确答案。
你的cookie在2018年1月19日(20年后)可能会遇到2038问题,这取决于你最终运行的浏览器和或版本。
其他回答
我不确定,但cookie不是在浏览器关闭时删除的吗?我以某种方式做了一个永不过期的cookie和chrome识别过期日期为“在浏览器关闭”…
当链接发布时,Chrome cookie最多可以存活400天。Chrome在这个回应的时候是一个大问题,所以我会让一个cookie的过期是在400天或更少。
如果你不想点击链接,它会总结说:
当cookie设置了显式的Expires/Max-Age属性时,该值将被限制在未来不超过400天。在此之前,没有任何限制,而且饼干在未来可能会过期数千年之久。
设定遥远未来的绝对时间:
setcookie("CookieName", "CookieValue", 2147483647);
使用绝对时间比按照公认答案中建议的相对于当前计算时间要好。
与32位系统兼容的最大值为:
2147483647 = 2^31 = ~year 2038
我相信没有一种方法可以让饼干永远存在,但你只需要设置它在遥远的未来过期,比如2100年。
你不能这样做,但是如果你将过期时间设置为现在+ 100年呢?
推荐文章
- 原则-如何打印出真正的sql,而不仅仅是准备好的语句?
- 如何从关联PHP数组中获得第一项?
- PHP/MySQL插入一行然后获取id
- 我如何排序一个多维数组在PHP
- 如何在PHP中截断字符串最接近于一定数量的字符?
- PHP错误:“zip扩展名和unzip命令都没有,跳过。”
- Nginx提供下载。php文件,而不是执行它们
- Json_encode()转义正斜杠
- 如何在PHP中捕获cURL错误
- 如何要求一个分叉与作曲家?
- 如何在php中创建可选参数?
- 在文本文件中创建或写入/追加
- 为什么PHP的json_encode函数转换UTF-8字符串为十六进制实体?
- 如何从一个查询插入多行使用雄辩/流利
- 在PHP单元测试执行期间,如何在CLI中输出?