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サイトの表示速度をスピードアップする方法
関連記事
-
SVNリポジトリでコミットできなかった件
ベンダーさんに、先日立てたSVNリポジトリにコミットできないと連絡いただき、調べたところ、権限が
-
【どうしてこうなった!?】このブログの直帰率が1%を切りました【自分史上初】
以前のエントリーで、このブログの直帰率が80%から20%に激減したことを報告しました。
-
【今さら】ブラインドタッチができるようになるまでにやった3つの事【もういいでしょ】
過去、仕事で一緒になった人がブラインドタッチが苦手だということがありました。 両手の人差し
-
cakephpでユーザ定義定数を読みだす方法
サイトを作るにあたって、定数を使いたいときがよくあります。 サイト上のある数値に変更があっ
-
windows7のxamppでvirtual hostを設定する
忘れないように忘れてもいいようにエントリー。 タイトルの通りです。 c:/xampp/a
-
オブジェクトとクラスについて
基本的なところをちょっと復習。 下記あたりが参考になったのでメモ。 http://www.k
-
【アフィリエイト】WordPressプラグイン「AmazonJS」をインストールしてみました
ずん飯尾という芸人さんがいます。 中でも「現実逃避シリーズ」がプチブレイクしていて、現実離
-
podcastのテスト
podcast配信です! mp3ダウンロード mp4ダウンロード
-
zenphotoを入れてみる
これまでの写真データ管理にはGoogleのWEBアルバムを使ってきたが、無料で使えるのは1GBまでだ
-
Google Analyticsで毎日チェックするべき4つの項目
こんにちは! まだまだ寒い日が続きますねー。皆様ご自愛ください。 さて、通常なにかし