CakePHP1.3でブラウザを閉じてもセッションが切れないようにする方法
ちょっと体調を崩してしまってましたが、なんとか回復してきました。(辛かった・・・)
本当に風邪には注意しましょう。
世間ではソチオリンピックが終わって一段落したところですね。
さてサービス作ってると、やっぱりユーザーさんの意見が大きいんですね。
どう大きいかというと、●●っていう機能を付けてほしい!というと、取りあえずその機能を付けるかどうか、検討するわけです。
全く論外の機能は置いといて、これはあったら便利なんじゃないか?とか、これ(ちょっと手間かかるけど)いいじゃん?とか、それくらいのレベルの機能はだいたい実装されることが多いです。(自分の場合です)
で、今回「ブラウザ閉じたらセッション切れるんだけど、切れないようにしてほしい」っていう意見がありました。
セキュリティ的なものもあるのでデフォルトで切れるようにしていたと思いますが、ユーザの意見っていうのは変わりやすいもので、今回実装が決まりました。
(今回の対象サービスはそれほど深刻なデータを抱えていないです)
CakePHP2.xであれば、以下の部分を変えれば良さそうです。(未実装)
app/Config/bootstrap.php
Configure::write('Session', array( 'defaults' => 'database', 'cookie' => 'CAKEPHP', 'timeout' => 259200, 'ini' => Array( 'session.cookie_lifetime' => 0, //ブラウザを閉じた時にセッションを破棄 'session.gc_maxlifetime' => 2580000, 'session.gc_probability' => 1, 'session.gc_divisor' => 100 ) ));
上記の「session.cookie_lifetime」の部分ですね。
ここが「0」になってると、ブラウザを閉じた時にセッションを破棄するようになってます。
ブラウザを閉じてもセッションを続ける場合は、ここに任意の数字(秒)を入れればよさそうです。
・・・が・・・
自分が改修を入れようとしたCakePHPのバージョンが1.3系だったため、この記述が使えなさそうだったんですね。
それでまた調べたわけです。
Sessions
http://book.cakephp.org/1.3/en/The-Manual/Core-Components/Sessions.html
どうもここを見ると、session.cookie_lifetimeを変更できそうなんですが、iniを変えるのであれば、ファイルを新しく増やすようなことをしないで、直接php.iniに書いた方がいいんじゃないかと思い、php.iniに書き足しました。
※この辺りは環境によると思いますので、適時ご判断ください。
sshでサーバにログインして、php.iniのファイルを見つけ、
session.cookie_lifetime に任意の数字を入れます。
自分の場合は丸1日セッションを残しておきたかったので、60(秒)x60(分)x24(時間)=86400 を入れました。
これでサーバを再起動すると、ブラウザを閉じてもう一度ブラウザを開くと、セッションがつながったままになってるはずです。
このsession.cookie_lifetimeはデフォルトだと「0」になっていて、ブラウザを閉じるまで有効になっているのですが、「0」の時はどこでセッションを管理してるんだ?ということを考える人もいらっしゃると思います。
それはずばり session.gc_maxlifetime で管理されています。こちらはデフォルトで1440秒(24分)になってます。
この時間が過ぎるとサーバ側のセッションファイルが削除されるのでセッションが切れます。
Google AD
- 前の記事
- 【注意】インフルエンザに気を付けましょう
- 次の記事
- WEBサイトの表示速度をスピードアップする方法
関連記事
-
-
【なぜ?!】ブログの直帰率が激減しました【GoogleAnalytics】
少し前から気づいていましたが、このブログの直帰率が激減しました。 まずはこちらの図表からどうぞ。
-
-
タグクラウド機能を付加。
右側のナビにタグクラウドを付けた。どうでしょうか。それにしてもワードプレスってタグが簡単だよね。wp
-
-
【アフィリエイト】WordPressプラグイン「AmazonJS」をインストールしてみました
ずん飯尾という芸人さんがいます。 中でも「現実逃避シリーズ」がプチブレイクしていて、現実離
-
-
Blogger Syntax Highlighter
今さらですが、Blogger移転を機にSyntax Highlighterを入れてみました。こちらの
-
-
WordPressをインストールしたら最初にやってることまとめ
仕事でWordpress使ってるけど、とりあえずすごく役に立ちました。ありがとうございます。個人的に
-
-
ブログでアクセス増やすためにはやっぱりタイトルと記事が重要らしい件
最近はアクセス数にも気をつけてるので、ブログのアクセスを増やす方法が書かれた記事が気になりま
-
-
lolipop(ロリポップ)でTinyTinyRSSを導入 その2
前回、ロリポップでTiny Tiny RSSを導入しましたが、今回は導入したシステムに、Go
-
-
【wordpress:プラグイン】会員制サイトを作るのでBuddyPressをインストールしてみた
今ちょっと温めてるアイデアがあって、それを実現させるために会員制サイトを作ろうと思います。
-
-
zenphotoを考え始める
googleのwebアルバムを使っていて、こりゃ便利じゃわい、と思ってたけど、結局完全に無料じゃない
-
-
SVNリポジトリでコミットできなかった件
ベンダーさんに、先日立てたSVNリポジトリにコミットできないと連絡いただき、調べたところ、権限が