會話儲存位置
本主題討論如何查找會話檔的存儲位置。 系統使用以下邏輯來商店會話檔:
-
如果配置了記憶體緩存,則會話存儲在 RAM 中;請參閱 將 memcached 用於會話儲存。
-
如果您配置了 Redis,會話將存儲在 Redis 伺服器上;請參閱將 Redis 用於會話儲存。
-
如果您使用的是預設的基於文件的會話儲存,我們將按顯示的順序在以下位置商店會話:
範例 env.php
下面是一個範例 <magento_root>/app/etc/env.php
片段:
'session' => [
'save' => 'files',
'save_path' => '/var/www/session'
],
前面的示例將會話檔存儲在 /var/www/session
php.ini
中的範例
作為具有 root
許可權的用戶,請打開文件 php.ini
並搜尋以獲取 的值 session.save_path
。 這標識了會話的存儲位置。
管理會話大小
垃圾集合配置
為了清理過期的會話,系統會根據指令計算gc_probability / gc_divisor
的概率隨機調用gc
(垃圾集合)處理程式。例如,如果將這些指令1/100
分別設置為,則表示概率(1%
每 100 個請求 調用一次垃圾集合的概率)。
垃圾集合處理程式使用 gc_maxlifetime
指令,即會話被視為 垃圾 並可能被清理的秒數。
在某些操作系統(Debian/Ubuntu)上,預設 session.gc_probability
指令是 0
,這會阻止垃圾集合處理程序運行。
您可以覆寫session.gc_
檔案中檔案中的php.ini
<magento_root>/app/etc/env.php
指令:
'session' => [
'save' => 'db',
'gc_probability' => 1,
'gc_divisor' => 1000,
'gc_maxlifetime' => 1440
],
配置會有所不同,具體取決於商家網站流量和特定需求。
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c