Joomla 3+奇怪的会话存储行为

时间:2014-06-14 06:18:45

标签: php mysql session joomla joomla3.0

众所周知,Joomla支持不同类型的会话处理程序(文件,数据库,无,memcached等)。当用户将会话处理程序设置为“none”时,我们预计将不再有数据库查询来处理会话数据。

但是当您将会话处理程序设置为“无”时,您会看到您的#__session仍有数据,并且每次点击时都会对此表进行查询。

/libraries/cms/application/cms.php中,您可以看到函数checkSession()

/**
* Checks the user session.
*
* If the session record doesn't exist, initialise it.
* If session is new, create session variables
*
* @return  void
*
* @since   3.2
*/

在此函数中,您可以看到用于选择和插入#__session表的数据库查询。

如果你简单加“return;”由于会话处理程序设置为“none”,语句站点仍将完全正常运行。

为什么我们需要这个功能?为什么这个函数不检查我们使用什么类型的会话处理程序?这种行为是必要的还是我在函数开头添加return的解决方案是正常的?

0 个答案:

没有答案