代码之家  ›  专栏  ›  技术社区  ›  wesgarrison

Rails CookieStore::CookieOverflow,不适用于所有用户,仅在生产中使用

  •  3
  • wesgarrison  · 技术社区  · 16 年前

    我有几个用户收到了这个cookiestore::cookieoverflow错误。

    我对nginx/乘客持怀疑态度,因为我上周刚换了那个(从nginx/瘦),现在这些都发生了。

    这始终是一个特定的操作,但并非所有用户都会这样做。我查看了在会话中存储的内容,没有保存任何大型对象,只有几个ID和几个布尔值。

    如果我在会话中存储大对象,我希望所有用户都有这个错误。

    有关如何解决此问题的建议将很有帮助。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Simone Carletti    16 年前

    跟踪和调试一个cookiestore::cookieoverflow错误并不简单。您应该尝试复制站点上完全相同的用户活动。

    修复错误的几个建议: *切换到更可扩展的cookie存储,如activerecord或memcached *尝试减少会话中存储的元素数

    还要注意 闪存消息存储在会话中 . 如果您发送回一个很长的flash消息文本,您可能会遇到cookieoverflow错误。

        2
  •  1
  •   wesgarrison    16 年前

    会话中存储的三个日期对象导致了这种情况。从会话中删除它们会阻止错误的发生。