diff --git a/system/Session/Handlers/MemcachedHandler.php b/system/Session/Handlers/MemcachedHandler.php index 7b7775916019..d3f40ad05263 100644 --- a/system/Session/Handlers/MemcachedHandler.php +++ b/system/Session/Handlers/MemcachedHandler.php @@ -225,6 +225,8 @@ public function close(): bool if (isset($this->memcached)) { if (isset($this->lockKey)) { $this->memcached->delete($this->lockKey); + $this->lockKey = null; + $this->lock = false; } return true; diff --git a/system/Session/Session.php b/system/Session/Session.php index 1c3824928775..81a1ec002154 100644 --- a/system/Session/Session.php +++ b/system/Session/Session.php @@ -622,7 +622,10 @@ protected function startSession() return; } - session_start(); // @codeCoverageIgnore + // Error suppression is used to prevent warnings when + // concurrent requests cause session lock conflicts. + // This is a known PHP limitation with custom session handlers. + @session_start(); // @codeCoverageIgnore } /**