ホームページ >バックエンド開発 >PHPチュートリアル >有効期限なしのPHPセッションを実装する方法
php セッション無期限メソッド: 最初にクライアントを使用して cookie を保存し、次に取得したセッション ID をクライアントの cookie に保存し、次に cookie の値を設定し、最後にその値を「session_id()」に渡します。関数 それです。
PHP で期限切れのないセッションのソリューションのアイデアと実装方法を共有します。
php.ini を開きます。設定ファイルの 3 行を次のように変更します。
関連する推奨事項: "php session session (topic)"
1, session.use_cookies
この値を 1 に設定し、cookie を使用して sessionid を渡します
2, session.cookie_lifetime
これは、SessionID がクライアント Cookie に保存される時間を表します。デフォルトは 0 です。はブラウザを表します。SessionID は閉じるとすぐに無効になります... これが原因で PHP セッションを永続的に使用することができなくなります。そこで、非常に大きいと思われる数値に設定しましょう。999999999 はどうでしょうか。はい、それだけです。
3. session.gc_maxlifetime
これは、セッション データがサーバー側に保存される時間です。この時間を超えると、セッション データは自動的に削除されます。 99999999まで。
以上です。すべて問題ありません。もちろん、信じられない場合は、テストして確認してください。セッションをセットアップし、10 日半後に戻ってきて、コンピューターが正常に動作していないかどうかを確認してください。電源がオフまたはダウンしている場合でも、セッション ID は表示されます。
もちろん、あなたにサーバーを制御する権限がなく、私ほど幸運にも php.ini 設定を変更できない可能性もあります。私たちには自分自身に頼る方法があります。 Cookie を保存するにはクライアントを使用する必要がありますよね? 取得した sessionID はクライアントの Cookie に保存され、この Cookie の値を設定し、この値を session_id() 関数に渡します。具体的な方法は次のとおりです。
<?php session_start(); // 启动Session $_SESSION['count']; // 注册Session变量Count isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id(); // 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID $_SESSION['count']++; // 变量count加1 setcookie('PHPSESSID', $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中 echo $count; // 显示Session变量count的值 ?>注: setcookie 行の 'PHPSESSID' は不確実で、変更されている可能性があります。最良の方法は、phpinfo() 関数を使用してセッションの値を確認することです。より科学的な名前です。
以上が有効期限なしのPHPセッションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。