相关疑难解决方法(0)

负载平衡群集中的PHP会话 - 如何?

好的,所以我有一个非常罕见的负载平衡PHP网站的独特场景.无赖是 - 它不习惯负载平衡.现在我们开始遇到问题......

目前唯一的问题是PHP会话.当然没有人首先想到这个问题所以PHP会话配置保持默认值.因此,两个服务器都有自己的一小部分会话文件,并且有一个用户将下一个请求抛给另一个服务器,因为它没有在第一个服务器上创建的会话.

现在,我一直在阅读PHP手册,了解如何解决这种情况.在那里我发现了很好的功能session_set_save_handler().(而且,巧合的是,关于SO的这个主题)整洁.除了我必须在网站的所有页面中调用此功能.未来页面的开发人员也必须记住一直调用它.感觉有点笨拙,更不用说可能违反了十几种最好的编码习惯.如果我可以翻转一些全局配置选项和Voilà会更好- 会话全部神奇地存储在DB或内存缓存中.

关于如何做到这一点的任何想法?


补充:澄清 - 我希望这是标准解决方案的标准情况.仅供参考 - 我有MySQL数据库可用.当然必须有一些现成的代码可以解决这个问题吗?当然,我可以编写我自己的会话保存内容,Gregauto_prepend指出的选项看起来很有希望 - 但这会让人觉得重新发明轮子.:P
补充2:负载均衡基于DNS.我不确定这是如何工作的,但我想它应该是这样的.
添加3:好的,我看到一个解决方案是使用auto_prepend选项session_set_save_handler()在每个脚本中插入一个调用并编写我自己的数据库容器,可能会调用以memcached获得更好的性能.很公平.

是否还有一些方法可以避免自己编码?像一些着名且经过良好测试的PHP插件?

很久以后添加了很多:这就是我最终的方式:如何在PHP + MySQL中正确实现自定义会话持久化?

此外,我只是在所有页面中手动包含会话处理程序.

php session load-balancing cluster-computing

47
推荐指数
3
解决办法
5万
查看次数

标签 统计

cluster-computing ×1

load-balancing ×1

php ×1

session ×1