php でセッション時間を設定する方法: まず php.ini を開いてセッション設定セクションを探し、次に「session.gc_maxlifetime」を設定してセッションの存続期間を設定します。

#この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
php 設定セッション (期限切れ) 、無効、有効期間)
PHP でのセッションの設定には、セッションの値の設定や、有効期限、無効化、有効期間の直接設定など、さまざまな側面があります。次のエディターで紹介します。それらの使い方をあなたに。
まず、php.ini でセッションを設定する方法を見てみましょう。php.ini を開いて、セッション設定セクションで次の項目を探します。コードは次のとおりです:
session.save_path =
"N;/path"
session.save_path =
"C:/Temp"
#此处以你自己设定的路径为准
ログイン後にコピー
この設定により、セッション ストレージ ディレクトリでマルチレベル ハッシュを実行できます。「N」は設定するディレクトリ レベルを表し、次の「/path」は、セッション ファイルが保存されるルート ディレクトリのパス。たとえば、次の形式に設定し、コードは次のとおりです:
session.save_path =
"2;C:/Temp"
ログイン後にコピー
上記の設定は、php を保存することを意味します。セッション ファイルは 2 つのレベルのディレクトリに保存され、各レベルのディレクトリは 0 ~ 9 で、合計 36 文字の英数字 a ~ z がディレクトリ名として使用されます。このようにして、セッションを保存できるディレクトリは 36*36 に達し、合計で 36*36 個になります。 1332 フォルダの数です。単一サーバーにはこれで十分だと思います。システム アーキテクチャ設計について言えば、複数のサーバー間でセッション データを共有するには、ディレクトリ レベルを 3 以上に上げることができます。
セッション有効期限の設定
PHP でのセッション トピックの続き。PHP では、セッションのライフ サイクルは主に、次のように session.gc_maxlifetime を設定することによって設定されます。次のコード:
<?php
ini_set
(
'session.gc_maxlifetime'
, 3600);
//设置时间
ini_get
(
'session.gc_maxlifetime'
);
//得到ini中设定值
?>
ログイン後にコピー
[推奨学習:
PHP ビデオ チュートリアル ]
以下は他の人によってカプセル化された関数を提供しますが、私はテストしていません参考までに、コードは次のとおりです:
<?php
function
start_session(
$expire
= 0)
{
if
(
$expire
== 0) {
$expire
=
ini_get
(
'session.gc_maxlifetime'
);
}
else
{
ini_set
(
'session.gc_maxlifetime'
,
$expire
);
}
if
(emptyempty(
$_COOKIE
[
'PHPSESSID'
])) {
session_set_cookie_params(
$expire
);
session_start();
}
else
{
session_start();
setcookie(
'PHPSESSID'
, session_id(), time() +
$expire
);
}
}
?>
ログイン後にコピー
Usage:
Join start_session(600);//600 後に期限切れになります秒。
セッションは期限切れになりません
php.ini 設定ファイルを開き、次のように 3 行を変更します。
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 は表示されます。
もちろん、あなたにサーバーを制御する権限がなく、php.ini 設定を変更できる私ほど幸運ではない可能性もあります。もちろん、Cookieを保存するにはクライアントを使用する必要がありますよね?取得したsessionIDをクライアントのCookieに保存し、そのCookieの値を設定し、その値をsession_id()関数に渡します。具体的な方法は以下の通りです。 :
rree
以上がPHPのセッション時間を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。