ホームページ >バックエンド開発 >PHPチュートリアル >PHP設定セッション(有効期限・無効化・有効期間)の詳細解説_PHPチュートリアル
php でセッションを設定するには、セッションの値を設定したり、有効期限、有効期限、有効期間を直接設定したりするなど、さまざまな側面があります。以下のエディターでその使用方法を紹介します。
まずphp.iniでセッションを設定する方法を見てみましょう
php.ini を開き、[セッション設定] セクションで次の項目を探します:
コードは次のとおりです | コードをコピー |
session.save_path = "N;/パス" |
この設定により、セッション ストレージ ディレクトリでマルチレベル ハッシュを実行できます。ここで、「N」は設定するディレクトリ レベルを表し、次の「/path」はセッション ファイルが保存されるルート ディレクトリ パスを表します。次の形式に設定します
コードは次のとおりです | コードをコピー |
session.save_path = "2;C:/Temp" |
上記の設定は、ディレクトリの各レベルが 0 ~ 9 と a ~ z で、合計 36 個の英数字の名前がセッションを保存できるディレクトリに保存されることを意味します。合計 36*36 のフォルダーに達する可能性があるため、システム アーキテクチャが複数のサーバーとセッション データを共有するように設計されている場合は、ディレクトリ レベルを 3 または 3 に増やすことができます。もっと。
セッションの有効期限設定
PHP のセッションのトピックに戻りますが、セッションのライフサイクルは主に session.gc_maxlifetime を設定することによって PHP で設定されます。例:
コードは次のとおりです | コードをコピー |
ini_set('session.gc_maxlifetime', 3600); // 時間を設定します |
以下は他の人がパッケージ化した機能ですが、私はテストしていません。参考用です。
コードは次のとおりです | コードをコピー |
関数 start_session($expire = 0) if (empty($_COOKIE['PHPSESSID'])) { |
使用方法:
start_session(600) を追加します。 // 600 秒後に期限切れになります。
セッションを期限切れにしない方法
php.ini設定ファイルを開きます
次のように 3 行を変更します:
1.セッション.use_cookies
この値を 1 に設定し、Cookie を使用してセッション ID を渡します
2.セッション.クッキー_ライフタイム
これは、セッション ID がクライアント Cookie に保存される時間を表します。デフォルトは 0 です。これは、ブラウザが閉じるとすぐにセッション ID が無効になることを意味します。このため、PHP セッションは永続的に使用できません。 ! それでは、大きいと思われる数値に設定しましょう。999999999 はどうでしょうか。それでOKです。それだけです。
3.セッション.gc_maxlifetime
これは、セッション データがサーバー側に保存される時間です。この時間を超えると、セッション データは自動的に削除されます。 そこで、これも 99999999 に設定しましょう。
それだけです。すべて問題ありません。もちろん、信じられない場合は、テストしてください。コンピュータの電源がオフまたはダウンしていなくても、セッションをセットアップして 10 日半後に戻ってください。このセッションIDを参照してください。
もちろん、あなたがサーバーを制御する権限を持っておらず、php.ini 設定を変更できるほど幸運ではない可能性もあります。もちろん、私たち自身に頼る方法があります。クライアントを使用して Cookie を保存し、取得したセッション ID をクライアントの Cookie に設定し、この値を session_id() 関数に渡します。具体的な方法は次のとおりです。
コードをコピー | |
session_start(); // セッションを開始します
$_SESSION['count'] // セッション変数の数を登録します
echo $count; // セッション変数 count の値を表示します |
http://www.bkjia.com/PHPjc/632659.html