0

我已经为 PHP 的 DateTime 编写了一个扩展。在我的一个网站上,我注意到日期的行为确实很奇怪。我一时兴起删除了该网站的 cookie,日期开始正常运行。

现在我的 cookie 不见了,我不知道如何重现这个问题。我担心给出一个具体的例子,因为我没有一个实际的例子,我不想创建一个红鲱鱼。我注意到它在我的日历应用程序中,我在 URL 中传递 20121116 指定 2012 年 11 月('Ymd' 格式字符串),它被解释为一个遥远的未来日期,比如 2098 年。我不记得了如果它正确解释了月份部分。

是否存在已知问题/解决方法?我有客户报告了这个问题,我建议他们删除他们的 cookie,但我想在他们不需要做任何事情的情况下解决这个问题。我还没有遇到技术熟练的客户可以向我发送他们的 cookie 值。

  • 我正在使用 PHP 版本 5.3.14
  • 在我的 .htaccess 文件中,我像这样设置时区:php_value date.timezone America/New_York

更新

我的站点托管在 Rackspace 云站点上。我目前的工作理论是负载平衡服务器之一的日期设置不正确。“X-Mapping-[random string]” cookie 将浏览器与具有错误日期设置(区域设置?)的负载平衡服务器联系起来,因此清除 cookie 有可能获得不同的服务器。


解决方案

问题是负载平衡服务器的设置不正确。Rackspace 纠正了它。

4

1 回答 1

2

DateTime在任何情况下都不受Cookie 的影响(这会打开许多​​安全漏洞)。 也许您有一个自定义函数来分析一些 cookie 值并相应地设置当前时区。

于 2012-10-16T14:59:53.323 回答