好的,所以我有一个非常罕见的负载平衡PHP网站的独特场景.无赖是 - 它不习惯负载平衡.现在我们开始遇到问题......
目前唯一的问题是PHP会话.当然没有人首先想到这个问题所以PHP会话配置保持默认值.因此,两个服务器都有自己的一小部分会话文件,并且有一个用户将下一个请求抛给另一个服务器,因为它没有在第一个服务器上创建的会话.
现在,我一直在阅读PHP手册,了解如何解决这种情况.在那里我发现了很好的功能session_set_save_handler().(而且,巧合的是,关于SO的这个主题)整洁.除了我必须在网站的所有页面中调用此功能.未来页面的开发人员也必须记住一直调用它.感觉有点笨拙,更不用说可能违反了十几种最好的编码习惯.如果我可以翻转一些全局配置选项和Voilà会更好- 会话全部神奇地存储在DB或内存缓存中.
关于如何做到这一点的任何想法?
auto_prepend指出的选项看起来很有希望 - 但这会让人觉得重新发明轮子.:P
auto_prepend选项session_set_save_handler()在每个脚本中插入一个调用并编写我自己的数据库容器,可能会调用以memcached获得更好的性能.很公平.
是否还有一些方法可以避免自己编码?像一些着名且经过良好测试的PHP插件?
很久以后添加了很多:这就是我最终的方式:如何在PHP + MySQL中正确实现自定义会话持久化?
此外,我只是在所有页面中手动包含会话处理程序.