【发布时间】:2014-01-24 14:28:24
【问题描述】:
我正在尝试使用 Yii 1.1.14 应用程序配置负载平衡环境,但我似乎遇到了当负载平衡器使用另一个节点时 Yii 不让用户保持登录状态的问题。大多数时候,登录时,它会要求用户登录两次,因为它只在一个节点上登录,然后在另一个节点上加载页面。否则,浏览中途会要求用户重新登录。
应用程序正在使用数据库会话,我可以看到数据库中的过期时间正在更新。即使在他们已经登录后立即要求他们再次登录的情况下,会话过期时间也会在数据库中更新。 Yii 是否对会话依赖于服务器?
我已经搜索了几个小时,但找不到关于这个主题的太多内容,并且想知道是否有其他人遇到过这样的问题。
在服务器端,我使用带有 PHP-FPM 的 Nginx 和 Amazon 的 ELB 作为负载均衡器。解决方法(作为最后的手段)是在负载均衡器上使用粘性会话,但如果节点离线并强制用户使用备用节点,这不会发挥最佳效果。
如果我需要更好地澄清任何事情,请告诉我。
【问题讨论】:
-
前段时间遇到了同样的问题 - 结束粘性会话是唯一的出路。
-
@themosquitokiller 实际上,有可能,我们让它在我正在开发的应用程序上运行
标签: php database session yii load-balancing