質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

セッション

Sessionはクライアントがサーバに送ったすべてのリクエストのことを指します。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

解決済

1回答

3957閲覧

【HTTP、PHP】セッション削除の仕様について教えてください

tomoyuki123

総合スコア273

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

セッション

Sessionはクライアントがサーバに送ったすべてのリクエストのことを指します。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

0グッド

1クリップ

投稿2017/01/26 12:25

編集2017/01/26 12:36

EC-CUBEで開発しています。
以下の設定だと、他のセッションを更新する時に1000分の1の確率で、7200秒(2時間)更新されていないセッションレコードが削除されるとのことですが

[PHP設定] session.gc_probability = 1 [PHP設定] session.gc_divisor = 1000 [ECCUBEのセッションタイムアウト] MAX_LIFETIME = 7200

この1000分の1という意味がよくわからないです。
サーバにあるセッションが複数あったときにランダムで削除されるのでしょうか?
セッションによっては2時間どころか24時間以上経っても生き残るのもあるのでしょうか。

すみませんがどなたか教えてください。
よろしくお願いします。

参考にしたURL
http://ec-cube.systemfriend.co.jp/consult/consult0027/

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

EC-CUBEを使用していないので…PHP観点で回答させていただきます。
PHP言語のサイトですが、同じ設定なので参考になると思います。(もう見ているかもですが…)
http://pentan.info/php/session_gc.html#gctiming
http://monolog.spanstyle.com/2005/07/session.html
http://ameblo.jp/atrem/entry-10411510307.html

質問者様の認識で概ね間違いないと思います。
削除対象はセッションというより、$_SESSIONに値が入った際に作成されるセッションファイルです。php.iniのsession_pathを見るとどこにセッションファイルが作成されているかわかります。

質問者様の設定だと
例えばECサイトで1000のセッションファイルが溜まっている場合、そこからユーザのアクセスなどで新たに1ファイルが作成されようとした時に、最終アクセスから2時間経っているファイルの中からランダムで削除するファイルを選択します。

これが高頻度でセッションファイルが作られるサービスであれば、24時間後に生き残るということはないと思います。逆に1日に500アクセスしかなければ、500ファイルしか削除されないので24時間生き残る可能性もあります。
極力セッションファイルを残したくない場合は、アクセス数を見て設定を見直すと良いかと。

ご参考までにmm

投稿2017/01/26 13:37

soich

総合スコア176

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomoyuki123

2017/01/27 01:55

とてもわかりやすい説明ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問