ホームページ >バックエンド開発 >PHPの問題 >PHPのセッションを期限切れにしないようにするにはどうすればよいですか?

PHPのセッションを期限切れにしないようにするにはどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2020-07-21 10:59:154161ブラウズ

php.ini ファイルを開き、「session.use_cookies」値を 1、「session.cookie_lifetime」値を 999999999、「session.gc_maxlifetime」値を 99999999 に設定します。これで完了です。

PHPのセッションを期限切れにしないようにするにはどうすればよいですか?

#php でセッションを期限切れにしない方法

最初の方法 メソッド:

php.ini 設定ファイルを開き、次のように 3 行を変更します: [関連チュートリアルの推奨事項: "

PHP チュートリアル "]

1. session .use_cookies

この値を 1 に設定し、cookie を使用して sessionid

2、session.cookie_lifetime

これは、SessionID がクライアント Cookie に保存される時間を表します。デフォルトは 0 です。これは、ブラウザが閉じるとすぐに SessionID が無効になることを意味します。このため、PHP セッションは永続的に使用できません。それでは、大きいと思われる数値に設定しましょう。999999999 はどうでしょうか。それでOKです。それだけです。

3. session.gc_maxlifetime

セッション データがサーバー側に保存される時間です。この時間を超えると、セッション データは自動的に削除されます。そこで、これも 99999999 に設定しましょう。

以上です。すべて問題ありません。もちろん、信じられない場合は、テストして確認してください。セッションをセットアップし、10 日半後に戻ってきて、コンピュータが正常に動作していないかどうかを確認してください。電源がオフまたはダウンしている場合でも、セッション ID は表示されます。

2 番目の方法:

もちろん、サーバーを制御する権限がなく、php.ini 設定を変更できない可能性もあります。 、Cookie を保存するにはクライアントを使用する必要があります。取得したセッション ID をクライアントの Cookie に保存し、この Cookie の値を設定し、この値を session_id() 関数に渡します。具体的な方法は次のとおりです:

<?php 
session_start(); // 启动Session 
$_SESSION[&#39;count&#39;]; // 注册Session变量Count 
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id(); 
// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID 
$_SESSION[&#39;count&#39;]++; // 变量count加1 
setcookie(&#39;PHPSESSID&#39;, $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中 
echo $count; // 显示Session变量count的值 
?>

注: 'setcookie 行の PHPSESSID ' 必ずしも必要ではありません。変更マニアに悩まされているネットワーク管理者に会った場合、その管理者が変更している可能性があります。最良の方法は、phpinfo() 関数を使用してセッションをチェックして確認することです。 .name item. この値は比較的科学的です。

関連トピックの推奨事項: php セッション (画像、テキスト、ビデオ、ケースを含む)

以上がPHPのセッションを期限切れにしないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。