【问题标题】:PHP cookies in a multi-server environment多服务器环境中的 PHP cookie
【发布时间】:2011-12-04 01:04:33
【问题描述】:

在 URL 为 http//somesite.com 且请求通过负载平衡应用程序发送并分流到各种服务器的环境中检索 cookie 时遇到困难。我可以在 PHP 脚本中使用 setcookie 设置 cookie,如下所示: setcookie("NameTest", $cookieText, time()+3600, "/"); 并且创建了一个 cookie somesite.com 但是,当我尝试从正在运行的系统上的该 cookie 读取值时,我从未找到创建的 cookie。我知道一定有办法做到这一点,但还没有找到我可以使用的任何东西。谁能告诉我如何完成这个功能?

这当然可以在没有负载平衡例程的单个服务器上完美运行

【问题讨论】:

    标签: php cookies load-balancing


    【解决方案1】:

    Cookies 是每个请求的往返客户端服务器。如果 cookie 没有出现在后续请求中,您必须弄清楚为什么客户端不发送它。如果负载平衡器对最终用户是透明的,那么处理请求的服务器应该无关紧要——不管怎样,客户端都会发送 cookie。因此,如果它没有被发送,那么它首先没有被正确设置。

    【讨论】:

      【解决方案2】:

      是的,您可以,因为客户端在外部看到相同的 IP 和域地址。但是如果你需要共享 SESSION 信息,你必须使用 memcached 或 mysql 之类的东西来在节点之间共享会话数据。

      【讨论】:

      • 那个,或粘性会话,所以用户每次都获得相同的服务器。
      猜你喜欢
      • 2014-12-18
      • 1970-01-01
      • 1970-01-01
      • 2010-09-11
      • 2012-08-28
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多