一个诡异的COOKIE问题

今天下午,发现本地的测试环境突然跑不动了,thinkphp直接跑到异常页面,按照正常的排错思路,直接看thinkphp的log
有一条
[ error ] [2]setcookie() expects parameter 3 to be integer, float given[\vendor\thinkphp\library\think\Cookie.php:97]
这个错误我直接忽略处理,因为自动接手这个项目后就一直是这样,看样子是给cookie的有效期传了一个浮点数的值,导致函数报错了。
好吧,既然错误日志没有什么头绪,那就只能直接打断点...
....
....
....
....
1个多小时后,打了几十个断点,追了6,7个文件
回到了Cookie.php文件的set方法
然后很奇怪的发现,只要把setcookie的方法去掉就整个跑的通,没有报错。
把参数一个一个打出来,没有什么特别的
'lang','zh-tw','3723724800',....
就是设置语言包的时候调用了,参数看起来也没什么问题
可是为什么呢?
试着把时间戳调小一点..居然没报错了,看来是时间戳的问题。
突然想起,时间戳的最大值是到 2038年 (32位),一查,果然超了。
再看看配置文件,写的是66 * 265 * 86400,居然是66年过期,已经超过了PHP的setcookie函数处理范围
把配置调小,错误立马解决

转载于:https://www.cnblogs.com/jaychan/p/6126485.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值