【发布时间】:2016-03-14 00:12:42
【问题描述】:
我们的 joomla 网站使用的是 1.7.3,当有大量用户在线时会出现性能问题,以及数据库损坏问题。被破坏的表是 _session 表。
我想尝试关闭会话处理,因此将 Joomla 全局配置中的会话处理程序设置为“数据库”中的“无”。
这会导致其他问题吗?这样做的可能后果是什么?
谢谢,
肯
【问题讨论】:
我们的 joomla 网站使用的是 1.7.3,当有大量用户在线时会出现性能问题,以及数据库损坏问题。被破坏的表是 _session 表。
我想尝试关闭会话处理,因此将 Joomla 全局配置中的会话处理程序设置为“数据库”中的“无”。
这会导致其他问题吗?这样做的可能后果是什么?
谢谢,
肯
【问题讨论】:
回答您的直接问题 - 是的,关闭会话处理会带来很多问题,尤其是在与用户交互的领域。大多数事情都会中断,例如:
/administrator 功能#_session 中的损坏通常是由于主机没有跟上负载而导致对数据库的写入失败 - 如果您在高负载时间遇到这些问题,您将不得不考虑更好的托管包/服务.
更重要的是,不再支持 1.7.x 系列,您应该upgrade to 2.5.3,因为它修复了一对非常讨厌的漏洞,使所有先前版本都容易受到黑客攻击。
【讨论】:
如果您将会话处理程序设置为无,Joomla 将使用内置于 PHP 中的会话处理程序。
如果 PHP 已正确安装和配置,则将会话处理程序设置为 none 不会导致任何问题。
当使用不支持会话的负载平衡集群时,您需要使用数据库选项。这样所有服务器都可以从数据库中访问会话数据。 在所有其他情况下,您可以使用 none 选项,这应该(理论上)更快,因为会话位于本地服务器上并且没有设置数据库连接的开销。此外,我相信 PHP 将文件缓存在内存中,这意味着它几乎可以立即访问会话列表。
【讨论】: