セッションストレージの場所

このトピックでは、セッションファイルが格納されている場所を特定する方法について説明します。 システムでは、次のロジックを使用してセッションファイルを保存します。

  • memcached を設定した場合、セッションは RAM に格納されます。を参照してください セッションストレージに memcached を使用.

  • Redis を設定した場合、セッションは Redis サーバーに保存されます。を参照してください セッションストレージに Redis を使用.

  • デフォルトのファイルベースのセッションストレージを使用している場合は、以下の場所に、表示されている順序でセッションが保存されます。

    1. で定義されたディレクトリ env.php
    2. で定義されたディレクトリ php.ini
    3. <magento_root>/var/session directory

の例 env.php

からのサンプルスニペット <magento_root>/app/etc/env.php 次のようになります。

 'session' => [
     'save' => 'files',
     'save_path' => '/var/www/session'
 ],

上記の例では、セッションファイルをに格納します。 /var/www/session

の例 php.ini

を使用した As a ユーザー root 権限、を開く php.ini ファイルで、の値を検索します。 session.save_path. これは、セッションが格納される場所を識別します。

セッションサイズの管理

を参照してください。 セッション管理 が含まれる ユーザーガイド.

ガベージコレクション設定

期限切れのセッションをクリーンアップするには、システムによって次が呼び出されます gcガベージコレクション)により計算される確率に従ってランダムにハンドラーを作成します。 gc_probability / gc_divisor ディレクティブ。 例えば、これらのディレクティブをに設定した場合 1/100 それぞれ、次の確率を意味します 1%100 件のリクエストにつきガベージコレクションが 1 回呼び出される確率)に設定します。

ガベージコレクションハンドラーは、 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
 ],

設定は、マーチャントの web サイトのトラフィックや特定のニーズに応じて異なります。

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c