如何使用PHP / Apache实现会话复制

时间:2012-02-25 16:26:51

标签: php session state

有没有办法以与IIS(会话状态服务)类似的方式存储/管理PHP会话?

我希望为多域电子商务平台提供多个前端Web服务器,并集中管理会话。这个想法是服务器关闭用户购物车内容将不会在他们转移到另一个Web服务器时启动新会话。

我知道cookie和URL参数可以做到这一点,但是没有回答这个问题。

2 个答案:

答案 0 :(得分:2)

您可以注册由共享数据库(例如MySQL Cluster)支持的SessionHandlerInterface

答案 1 :(得分:1)

对于任何寻找此项目的人,因为他们正在迁移到Amazon Web Services,有两种选择/替代方案:

  1. 使用AWS SDK for PHP中的DynamoDB session handler。这基本上与会话复制具有相同的效果。但是,DynamoDB会产生货币成本,特别是如果您需要锁定。
  2. 在负载均衡器中使用session stickiness。这个设置更简单,更自由,但可能不太可扩展,因为来自旧会话的请求不能只发送到新启动的服务器上。
  3. 最具扩展性的选项当然是摆脱服务器端会话,但如果没有后端和前端的巨大变化,这并不总是很容易,并且在某些情况下由于其他考虑因素甚至不可取。