王志勇 发表于 2019年03月22日 07:47
昨天开发中,遇到PHP中的一个bug。setcookie函数,如下2行的语句:
setcookie('name','123',time()+3600,'/');
setcookie('name','123',time()+3600,'.abc.com');
上述2行的区别,第1行的cookies设置,只对某个二级域名有效,第2行是对该域名的顶级域名下的所有二级域名有效。
比如我在开发中,某个页面是用第1行的方法来设置cookies,然后用第2行来清除cookies。实际不行,无论怎样调试都不行。即如果一个cookies是用第1种方法写入的,则第2种方法不能对这个cookies做任何操作,不能改写、不能清除;反之,如果是用第2种方法写入的,同样不能用第1种方法对其改写、清除。
为什么我一定要用第2种方法来清除第1种的cookies?因为恰好在我编写的面板里,用户可以选择第1种、第2种的方式来保存cookies,当处于切换交界的时候,用户点击“退出”,会无法清除cookies。
昨天用Linux的服务器版PHP 5.X、PHP 7.0测试,这个bug都存在。
为了解决这个问题,经过几个小时的测试,在清除cookies的时候,最后我采用上述2行都同时使用方法,虽然问题是基本解决了,但并非完美解决,在切换交界的时候可能会存在某个二级域名没有清除cookies,这是由于PHP的特殊bug。
这个bug的存在,是因为PHP的设计者未对此开发。
置顶的文章:
股骨头坏死的中早期修复方法
Windows流畅度300%以上体感的操作
超低价享受i7-7700的体验
家用电脑理性优化升级天梯图之2026
服务器版Linux系统的选择之2026
秒会+实战PHP程序设计培训(2)
如何快速自制CPU天梯图?
我不明白你明不明白我明白(明白不)
最好的音乐播放硬件
如何打造全静音台式电脑之2026
近期的主题:
博客又有活儿得干了:双服务器备份
支架设计(2):功放机+航空头的支架
数码评测(81):停电引起电脑损坏如何防止?
Debian 12.0的“致命”bug
数码评测(80):最好用的平价鼠标和维修/改装
这次的PHP大漏洞/淡定的PHPer们
“明白不”的心理机制(2)
博客/网页有没有必要做访问量统计?
数码评测(79):如何打造全静音台式电脑之2026
AI编程和人工编程的差别
世界上最好的二级域名
数码评测(78):最好的音乐播放硬件
博客新调整计划
人生讨论(28):滑翔伞运动
真玄学心得(26):最新消息
DIY(35-4):6路×2 USB全自动电脑切换器
特级干货(1-2):发质/脱发与内分泌研究
“更新提示”的好处/提醒用语
PHP和Java、CGI、Python的区别
前几天差点进入生活黑洞
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2025年-2026年03月(10)
2024年(13)
2023年 +