[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}

工作階段儲存位置

本主題說明如何找出工作階段檔案的儲存位置。 系統會使用以下邏輯來儲存工作階段檔案:

  • 如果您已設定memcached,工作階段會儲存在RAM中;請參閱使用工作階段儲存的memcached

  • 如果您已設定Redis,工作階段會儲存在Redis伺服器上;請參閱使用Redis作為工作階段儲存體

  • 如果您使用預設的檔案式工作階段儲存,我們會依照顯示的順序將工作階段儲存在下列位置:

    1. env.php中定義的目錄
    2. php.ini中定義的目錄
    3. <magento_root>/var/session目錄

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指示詞計算的機率,隨機呼叫​ ​記憶體回收gc_probability / gc_divisor)處理常式。 例如,如果您分別將這些指示詞設為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