PHP Web サイトを作成する場合、開発者は多くの場合、ページ間の情報転送やユーザー認証などの機能を実装するために、ユーザー データをセッションに保存します。デフォルトでは、PHP セッションはセッションが終了すると自動的にクリアされ、ブラウザを閉じると期限切れになります。ただし、開発者は、セッションを一定期間有効に保つために、セッションの有効期限をより正確に制御する必要がある場合があります。この記事では、PHPでセッションの有効期限を設定する方法を紹介します。
始める前に、次の 2 つの概念を理解する必要があります。
セッション ID: 各ユーザーはサーバーとのセッションを確立します。 、ユーザーのセッション状態を識別するために、一意のセッション ID が割り当てられます。
セッション変数: セッション変数は、セッション中にサーバー側に保存される変数を指し、ユーザー データの保存に使用されます。
2.1. php.ini ファイルを変更する
PHP のセッションの有効期限は php.ini にあります。設定ファイル session.gc_maxlifetime パラメータを使用して秒単位で設定します。デフォルトでは、その値は 1440 秒、つまり 24 分です。次の手順に従って変更できます。
このパラメータを変更すると、すべての PHP スクリプトのセッション有効期限に影響します。
2.2. コードで設定
特定のページのセッション有効期限を変更する必要がある場合、またはコードで必要に応じてセッション有効期限を動的に設定する必要がある場合は、次のコードを使用できます。コード:
session_start(); // セッションを開始
$expireTime = 60*30; // 有効期限は 30 分です
$_SESSION['timeout'] = time () $expireTime; //指定したセッション変数の有効期限を設定します
?>
コードでは、$_SESSION['timeout'] を使用して、セッション変数に関連するセッション変数を指定します。有効期限。現在のタイムスタンプ (time()) に有効期限 ($expireTime) を加えた値が保存されます。ページにアクセスするたびに、この変数の有効期限が切れているかどうかを確認できます。有効期限が切れている場合は、session_destroy() 関数を呼び出してセッションを破棄します。
2.2.1. セッション ライフ サイクル パラメーターを変更する
session_set_cookie_params() 関数を使用して、コード内でセッションの有効期限を設定することもできます。この関数は複数のパラメーターを受け入れることができますが、その中で最も重要なものは、セッションの有効期限を決定するセッション ライフ サイクル パラメーターです。
以下は例です:
session_start();
$expireTime = 60*30; // 有効期限は 30 分です
session_set_cookie_params( $expireTime);
?>
このコードは、セッションの有効期限を 30 分に設定します。
php.ini ファイルを変更するか、コード内で設定するか、セッション ライフ サイクル パラメーターを通じて設定するかに関係なく、次の点があります。注意事項:
セッションは、PHP アプリケーションを作成する場合に非常に重要な機能です。セッションの有効期限を設定すると、ユーザー データのセキュリティをより適切に保護し、サーバー リソースの不必要な浪費を回避できます。
以上がPHPでセッションの有効期限を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。