User tests: Successful: Unsuccessful:
Regardless of the session storage handler used the database session table is cleared based on the result of a modulo operation in JApplicationCms::loadSession()
. When using the database for session storage the table is therefore likely be cleared far more often than per the PHPRC gc_
settings, resulting in unnecessary operations. It also renders the database storage handler's gc()
method a little redundant and potentially breaks custom handler gc()
methods that utilise session table data prior to their deletion.
Amended JApplicationCms::loadSession()
so that it won't remove expired sessions from the database when the database storage handler is being used; they will instead be removed only on execution of JSessionStorageDatabase::gc()
.
#__session
table.#__session
table on execution of JApplicationCms::loadSession()
but on execution of JSessionStorageDatabase::gc()
.#__session
table again.JApplicationCms::loadSession()
if the result of the modulo operation is not 0.None
Status | New | ⇒ | Pending |
Category | ⇒ | Libraries |
Labels |
Added:
?
|
Status | Pending | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-02-14 14:07:46 |
Closed_By | ⇒ | mbabker |
This was actually changed as part of #19165 but it has been demanded to be reverted. So this PR can not be accepted sadly.