phpMyAdminのセッション継続時間を延ばす方法

phpMyAdminのセッション継続時間を延ばす方法 サーバー

phpMyAdminにてSQLを弄っている最中に、しばらく他の作業をしていて、再度phpMyAdminを利用しようとしたら、セッション・タイムアウトが発生して再ログインを要求される。

phpMyAdminのセッション・タイムアウト

phpMyAdminのデフォルト設定では1440秒(24分)でセッションがタイムアウトになる仕様なので、ちょっと他の作業に没頭しているとあっという間にタイムアウトになってしまいます。

当方としては、7200秒(120分)くらいセッションが継続してくれるとありがたい。

というわけで、phpMyAdminのセッション継続時間を延ばします。

※動作確認環境
PHP 7.4.8
phpMyAdmin 5.0.2

スポンサーリンク

phpMyAdminの設定ファイル「config.inc.php」の編集

まず、SSHでログイン、又はサーバー管理画面のファイルマネージャー等を利用して、phpMyAdminのインストールディレクトリ内にある「config.inc.php」を開きます。

次に、config.inc.phpの末尾に以下の2行を追加します。

(※1行目のセッション・タイムアウトまでの秒数はお好きな値に変更してください。今回は2時間に設定しています。)

【解説】

  • 1行目の「$cfg['LoginCookieValidity']」という変数でセッション・タイムアウトまでの秒数を設定しています。
  • 2行目の「ini_set()」はPHPの設定を変更する関数です。php.ini等を編集してPHP全体の設定を変更しなくても、実行しているスクリプト内でのみPHPの設定を変更させることが出来ます。(※今回はPHP設定の「session.gc_maxlifetime」を変更しています。)
2行目のini_set()の第2引数の、$cfg['LoginCookieValidity']の値は(string)を先頭に付けて文字列として定義(型キャスト)しましょう。この(string)が無いと整数扱いとなりPHP7.4だとエラーになります。

phpMyAdminのconfig.inc.phpを編集

上記の2行を追加したら、config.inc.phpを上書き保存すれば完了です。

これでphpMyAdminのセッション継続時間が、1440秒(24分)から7200秒(120分)に変更されました。

スポンサーリンク

【おまけ】「phpMyAdmin環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。」の対策

ついでに、「phpMyAdmin環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。」という警告が出ているので、これも対策します。

phpMyAdmin環境保管領域に関しての警告

「理由についてはこちらをご覧ください。」の部分の「こちら」をクリックします。

警告の「こちら」の部分をクリック

『「phpmyadmin」データベースを作成し、phpMyAdmin環境保管領域をセットアップ。』と書かれている部分の「作成」をクリックします。

「作成」をクリック

「phpmyadmin」データベースが作成され、各種設定が全て自動的に行われます。

「phpmyadmin」データベース(環境保管領域)のセットアップ完了

もう一度phpMyAdminのTOPページに戻って確認しましょう。

警告が消えました。

phpMyAdminのTOPページで警告が消えたことを確認

スポンサーリンク

まとめ

phpMyAdminのセッション・タイムアウトまでの時間を延長したい際は、phpMyAdminの設定ファイル「config.inc.php」に以下の2行を追加。

※1行目の秒数はお好きな値に変更してください。

以上で解決です。