ホームページ  >  記事  >  バックエンド開発  >  PHPでセッションのライフサイクルを設定する

PHPでセッションのライフサイクルを設定する

伊谢尔伦
伊谢尔伦オリジナル
2016-11-26 14:27:201800ブラウズ

PHP では、セッション変数はサーバー側に保存されます (デフォルトではファイル形式で保存されます)。一方、セッション ID は Cookie の形式でクライアント側に保存されます。

セッションを破棄するには 2 つの方法があります:

1 つ目はプログラムを使用する方法です

session_destory()方法清除所有session
unset(session['x'])来清除指定的session['x']。

2 つ目はブラウザを閉じることです

关闭后会直接清除所有session。

Cookie が無効になっていない場合、セッション ID は Cookie に保存されます。

セッションのライフサイクルを変更したい場合は、Cookie にセッション ID の有効期間を設定することで変更できます。セッションのライフ サイクルを設定するには 2 つの方法があります:

1 つ目の方法: setcookie()

$lifetime=60;//保存1分钟
 session_start();
 setcookie(session_name(),session_id(),time()+$lifetime,"/");

setcookie を直接使用して、セッション ID のライフ サイクルを設定します。

2 番目: session_set_cookie_params()

$lifetime=60;//保存1分钟
session_set_cookie_params($lifetime);
session_start();
session_regenerate_id(true);

session_regenerate_id() メソッドは、現在の session_id の値を変更し、セッション内の配列の値を保持するために使用されます。このパラメータのデフォルトは false です。 true に設定すると、session_id の値が変更され、現在のセッション配列がクリアされます。


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