【问题标题】:PHP setcookie - expiration date does not applyPHP setcookie - 过期日期不适用
【发布时间】:2014-12-30 05:23:36
【问题描述】:

我正在以这种方式设置一些 cookie:

session_start();
$cookie_name = 'remember_me@website.com';
$cookie_time = time() + 315360000;
setcookie($cookie_name, 'username='.$cookie_username.'&hash='.$cookie_password, $cookie_time, '/', '.website.com');

使用 Firefox 开发控制台,我可以看到 cookie 已设置,但它的到期日期是 21.01.1970, 5:00:44。谁能解释这里发生了什么?

【问题讨论】:

  • '/', '.website.com' 到 '.website.com'
  • @BuseGönen 第 4 个参数是路径,第 5 个参数是域
  • 编辑 cookie_name $cookie_name = 'remember_me@website.com';
  • @BuseGönen 编辑.. 怎么样?那里有什么问题吗?因为在我目前的设置下,我只会遇到过期时间问题
  • 我猜。试试赔率。对不起,我的英语不好。

标签: php cookies setcookie


【解决方案1】:

好的,让我们看看。我在自己的机器上运行代码,cookie 设置得和预期的一样好。所以我认为您在服务器中的日期设置错误。这意味着 time() 方法可能会返回 2028 年之后的时间,这会导致 cookie 在 2038 年到期,这是不可能的,并且会在到期日期集上出现意外结果。

【讨论】:

  • 我的cookie时间是10年? O.o 似乎有一个奇怪的零。无论如何,我在同一台服务器上使用time() 处理许多事情并且它工作正常:/ 明天我会做一些测试,无论如何谢谢你的建议
猜你喜欢
  • 2016-05-28
  • 1970-01-01
  • 2011-08-03
  • 1970-01-01
  • 1970-01-01
  • 2011-03-19
  • 1970-01-01
  • 1970-01-01
  • 2015-09-28
相关资源
最近更新 更多