ブラウザを落としても消えないセッションをPHPで作るには

ECサイトを作っているとよく言われるので覚書φ(..)

~~~
function startSession($time = 3600, $ses = ”) {
session_set_cookie_params($time);
session_name($ses);
session_start();

// アクセスするたびにクッキーを更新する
if (isset($_COOKIE[$ses]))
setcookie($ses, $_COOKIE[$ses], time() + $time, “/”);
}
~~~
参考:PHP: session_set_cookie_params – Manual

↑だとガベージコレクションでセッションがたまたま消されるユーザーが出ちゃうかもしれないのでgc_maxlifetimeを眺めに設定してあげるほうがいいのかも?
~~~
ini_set(“session.gc_maxlifetime”, $time);
~~~

※session.gc_maxlifetimeはsession_startより前に設定する必要があり

コメント

タイトルとURLをコピーしました