这个精彩网站上的第一个问题 ;)
注意:我使用的是 CakePHP 2.6.2
所以,这是我的问题: 我后面有一个负载平衡器和 2 个网络服务器。 我在这些服务器上放置了一个网站,由于负载平衡器不使用 session 粘性(而且我无法激活它,服务器不是我的),我遇到了 session 问题(当平衡器将我从一个服务器到另一个)。
服务器之间唯一的共享资源是数据库,所以我考虑使用 CakePHP 数据库 session 存储。
但此时我想知道 cakephp 中是否有任何内置解决方案允许在服务器之间切换或复制 session 。
谢谢!
最佳答案
不使用基于文件的 session 非常重要,您可能已经意识到这一点。相反,您必须使用基于数据库、redis 或 memcached 的 session 。
理想情况下,您不想阻止人们在服务器之间移动。粘性 session 似乎是一个很好的解决方案,直到您由于某些问题而失去服务器。相反,我发现将所有网络服务器轻松替换的无共享架构作为目标要好得多。
您可能需要解决的另一件事是文件上传。在多服务器设置中,您不能简单地将上传的文件保存到本地磁盘,因为以下请求可能不会到达同一台服务器。相反,我建议您查看 Blob 存储提供商,例如 Amazon S3、Azure Blob 存储和 Rackspace 云文件。
关于php - 使用 CakePHP 进行负载平衡和 session 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31321485/