MySQLと連動しているプログラムの開発をしているとデフォルトの自動ログアウト時間はあっという間に来てしまいます。ログインをし直せばいいのですが、ログインをし直すという行為はいい感じに集中力を奪ってくれます。
ということで制限時間の設定を変更して少しでも集中力の妨げを減らしたいと思います。
- 本記事ではwindows7での設定方法について書きます
- 本記事では「Windowsv 向け XAMPP 5.6.3 (PHP 5.6.3)」を使用しています
- XAMPPをCドライブ直下(C:¥)にインストールしている前提で話を進めます
自動ログアウトまでの時間を延長する
デフォルトでは1440秒(24分)でログアウトとなってしまうのですが、この際24時間ログアウトしないようにしちゃいます。
改良を加えるスクリプトは下記です。
C:¥xampp¥phpMyAdmin¥config.inc.php
53~55行目は元からあるコードで、それ以降に下記の56~59行目(ハイライト部)を追記をします。
/* * End of servers configuration */ ini_set( 'session.gc_maxlifetime', ($cfg['LoginCookieValidity'] = (60 * 60 * 24)) );
(60 * 60 * 24)と書き、86400秒(24時間)を計算していますが、計算させずに86400と書いても問題ありません。
これでパスワードを聞かれずに開発を進めれると思います!
注意点!!!
ここで注意点が一つあります。
いくつかのブログなどで、ログアウト時間を延長するのに次のようなコードが紹介されていますが、
$cfg['LoginCookieValidity'] = 60 * 60 * 24;
$cfg['LoginCookieValidity']の時間だけを延長してもini_get('session.gc_maxlifetime')に指定されている時間が短いとそちらの値が優先されてしまうので、ログアウト時間が変わらないという自体になりかねません。
最後に、興味のある方のためにphp.netのsession.gc_maxlifetimeについての注意点の引用とマニュアルへのリンクを張っておきます。
注意:
異なる値を session.gc_maxlifetime に指定している 別々のスクリプトがセッションデータの保存場所を共有している場合、 一番小さい設定値に達した時点でデータが消去されます。このような場合には、 お互いに session.save_pathを使用します。