多服务器环境中的PHP cookie

时间:2011-10-09 17:18:47

标签: php cookies load-balancing

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

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

2 个答案:

答案 0 :(得分:1)

Cookie是每次请求时的往返客户端< - >服务器。如果后续请求中不存在cookie,则必须弄清楚客户端未发送的原因。如果负载均衡器对最终用户是透明的,那么处理请求的服务器应该无关紧要 - 客户端无论如何都会发送cookie。因此,如果它没有被发送,那么它首先没有正确设置。

答案 1 :(得分:1)

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