【问题标题】:PHP Cookie Not Expiring CorrectlyPHP Cookie 未正确过期
【发布时间】:2014-01-23 06:38:55
【问题描述】:

我相信我有一个 cookie,它设置为在创建后 1 秒过期(用于测试目的)。然而,这需要 5 秒。如果我将它设置为 0.5,它会下降到大约 3 秒。我已将脚本简化为基础,但仍然存在此问题。

 <?php setcookie("test", "daily_deals_cookie", time() + 1); ?>
 <?php
    if (!isset($_COOKIE['test'])) {
       echo "COOKIE NOT SET";
    } else {
       echo "<h3 style=\"font-family: sans-serif; \">Please come back again!</h3>";
    }
  ?>

有人看到我在这里缺少的东西吗?

【问题讨论】:

  • 也许服务器时间比PC上的时间稍早,这使得time() + 1真的是time() + 1 + numberOfSecondsPcIsBehindServerTime

标签: php cookies setcookie


【解决方案1】:

服务器和最终用户计算机之间的时间差。 最终用户计算机的处理队列。

测试时,尽量保持 15 秒左右,这样你的浏览器就可以在队列中更准确的时间打补丁。

Cookie 生命周期是一个优先级相当低的管理过程,很容易因为重绘视口或其他业务而被抛到后面。

【讨论】:

    【解决方案2】:

    当涉及到 Web 开发时,您经常不得不期望任务不会在被要求时准确地完成。这可能是由于许多原因造成的,例如客户端机器上的负载,我发现的一个大问题是 settimeout 通常不会在请求的时间间隔内调用。

    因此,您应该在您的应用中构建一些灵活性,以处理浏览器上的时间延迟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 2014-07-07
      相关资源
      最近更新 更多