無制限の生涯セッションを使用する方法
この記事はあまり良い記事とは言えませんが、ほとんどの PHPer はこれらの問題について考えたことがあると思います。
無制限のライフタイムセッションを使用する方法
セッションサポートがPHP4.0に追加され、ショッピングカートなどの多くのプログラムが容易になります。
多くのフォーラムでは、セッションはユーザーのログインを処理し、ユーザー名とパスワードを記録するためにも使用されているため、ユーザーは毎回ユーザー名とパスワードを入力する必要がありません。ただし、一般的なセッションの有効期間は制限されており、ユーザーがブラウザを閉じると、セッション変数は保存できません。では、Session の永続的な寿命を達成するにはどうすればよいでしょうか?
ご存知のとおり、セッションはクライアントから提供されたセッション ID に基づいてサーバー側に保存され、そのファイルはクライアントの Cookie または変数の値を取得するために読み取られます。アクセスされたHttp1.1プロトコルのQuery_String(URLの「?」以降の部分)がサーバーに送信され、サーバーはSessionのディレクトリを読み込みます...
永続化を実現するにはセッションについては、まず php.ini のセッションの関連設定を理解する必要があります (php.ini ファイルを開き、「[セッション]」セクションにあります):
1. session.use_cookies: デフォルト値は「1」です。これは、SessionID が Cookie によって渡されることを意味し、それ以外の場合は Query_String によって渡されます。
2. session.name: これは、SessionID ストレージです。変数名は Cookie または Query_String で、デフォルト値は「PHPSESSID」です。 3. session.cookie_lifetime: これは、セッション ID がクライアント Cookie に保存される時間を表します。デフォルトは 0 で、ブラウザーが閉じた直後のセッション ID を表します。これは無効です。このため、セッションを保存できません。永久的に使用されます!
4. session.gc_maxlifetime: セッション データがサーバー側に保存される時間です。この時間を超えると、セッション データは自動的に削除されます。
多くの設定がありますが、これらはこの記事に関連するものです。まず、永続セッションを使用するための原則と手順から始めましょう。
前に述べたように、サーバーは SessionID を介してセッション データを読み取りますが、通常、ブラウザによって送信された SessionID はブラウザを閉じると失われます。その場合は、SessionID を手動で設定して保存するだけで済みます。サーバーの操作権限なので、これを設定するのは非常に簡単です。次の手順を実行するだけです:
1. 「session.use_cookies」を 1 に設定し、SessionID を保存するための Cookie をオンにします。ただし、デフォルトは 1 です。通常は変更する必要はありません。
2. 「session.cookie_lifetime」を正の無限大に変更します (もちろん、正の無限大のパラメーターはありませんが、999999999 と正の無限大の間に違いはありません)。 「session.cookie_lifetime」と同じ時刻に設定します
設定後、エディタを開いて次のコードを入力します: