phpMyAdminの自動ログアウト時間を延長する。

phpMyAdminの自動ログアウト時間を延長(設定)する方法をご案内します。

phpMyAdminのログアウト時間変更対象バージョン

手元のphpMyAdminのバージョンが、3.2.3 なので、本エントリの対象は、phpMyAdmin3.2.3と致しますが、バージョン番号が近ければ設定ファイルの構成もそんなに変わらないので、たぶん使えると思います。

phpMyAdminのログアウト時間変更を記述するファイル

phpMyAdminルート直下の「config.inc.php」に追記します。

phpMyAdminのログアウト時間変更を記述する内容

config.inc.phpの末尾に追記します。

//~
//ここより上は、元々記述されている内容
//~
// ▼ここから追記
ini_set(
'session.gc_maxlifetime',
($cfg['LoginCookieValidity'] = (3600 * 24))
);
// ▲ここまで追記
?>

phpMyAdminのログアウト時間変更を記述する内容の説明

(3600 * 24)

この部分を好みの自動ログアウト時間に書き換えてお使いください。
単位は秒数です。
上の場合、3600秒 = 1時間 の 24倍 なので、24時間有効という意味になります。

追記部分 ini_set( ~ ); は、1行で書いてもOKですが、見易さのため改行、インデントを加えています。

$cfg['LoginCookieValidity']

この変数は、phpMyAdmin自身のログインCookieの保持期限を格納しています。
この変数を書き換えるだけでOKと考えがちですが、実は落とし穴があります。

PHP本体のCookie保持期限が短ければ、そちらが優先される。
php.ini とか htaccess に記述する、「session.gc_maxlifetime」です。

ということで、ついでに「ini_set」も行います。
それが、ini_set('session.gc_maxlifetime', ~ ); の部分になります。

ちなみに・・・

$cfg['LoginCookieValidity'] = 1440;

この記述は、 /libraries/config.default.php の 524行目で見つけることができます。
だからって、ここの値を書き換えれば良いというのは間違いです。

同ファイルの先頭のコメント部分をよく読みましょう。
「DO NOT EDIT THIS FILE」
と書かれているのが容易に発見できるはずです。

それから・・・

本エントリはあくまでも開発補助を目的としています。
本番環境での、phpMyAdminの取り扱いには充分に注意しましょう。