セッションは、PHP で非常に一般的に使用されるメカニズムであり、ユーザーが Web サイトにアクセスしている間に生成されたデータをサーバーに保存し、その後の操作でそのデータを使用できるようにします。たとえば、ショッピング Web サイトでは、ユーザーがショッピング カートに商品を追加した後、チェックアウト ページのセッションに保存されたショッピング カート データを使用できます。
ただし、PHP では、セッションはデフォルトでファイルの形式でサーバーに保存されます。この方法は単純ですが、潜在的な問題がいくつかあります。たとえば、Web サイトのアクセス数が多い場合、サーバー上に大量のセッション ファイルが生成され、サーバーのパフォーマンスの問題が発生しやすくなります。また、セッションはサーバー上でローカルに保存されるため、セッション ファイルにも影響が及びます。サーバーのクラッシュやセッション ファイルの削除などの問題により。
したがって、Session の安定性とパフォーマンスを向上させるには、Session にいくつかの調整を加える必要があります。以下では、PHP 7.2 バージョンを例として、Session の PHP 構成を変更する方法を紹介します。
PHP では、session.save_handler はセッション ストレージ プロセッサの名前です。これを変更することで、セッション ストレージの方法を調整できます。パラメータ。
トラフィックの多い Web サイトの場合、session.save_handler を redis または memcached に設定して、セッションをキャッシュに保存できます。これにより、サーバー上のセッション ファイルの数が大幅に削減され、サーバーのパフォーマンスが向上します。
次のコード例は、Redis にセッションを保存する方法を示しています。
session_save_path('tcp://127.0.0.1:6379?database=0'); ini_set('session.save_handler', 'redis');
PHP の場合、session.gc_probability および session.gc_divisor は、セッション ガベージ コレクション メカニズムのパラメーターです。これらは、セッションのリサイクルの頻度を制御するために使用されます。
デフォルトでは、session.gc_probability の値は 1 で、各リクエストがセッションのリサイクルをトリガーする一定の確率があることを意味し、session.gc_divisor の値は 100 で、各リクエストには特定の確率があることを意味します。セッションのリサイクルをトリガーする確率: セッションのリサイクルをトリガーする確率は 1 です。これにより、ガベージ コレクションが非常に頻繁になり、サーバーのパフォーマンスに影響を与えます。
したがって、session.gc_probability と session.gc_divisor の値を適切に調整して、セッション リサイクル メカニズムのトリガーの数を減らすことができます。
次のコード例は、session.gc_probability と session.gc_divisor の値をより大きな値に設定し、それによってリサイクル メカニズムのトリガーの数を減らす方法を示しています。 #Modify session.gc_maxlifetime パラメータ
ini_set('session.gc_probability', 50); ini_set('session.gc_divisor', 1000);
session.cookie_lifetime パラメーターを変更します。
PHP では、session.cookie_lifetime はセッション Cookie のライフサイクル パラメーターです。これは、ユーザー側 Cookie 内のサーバー側セッション ID の生存時間を表します。この時間が経過すると、ユーザーは新しいセッション ID を再生成する必要があります。ini_set('session.gc_maxlifetime', 3600);要約Session の PHP 構成を調整することで、セッションを最適化および強化して、サーバーのパフォーマンスと安定性を向上させることができます。上記で紹介した PHP 構成は参考として使用でき、開発者は実際のニーズに応じて調整できます。
以上がPHPでセッション構成を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。