phpMyAdminのログイン画面でログインが出来ない

投稿日: 2024年5月1日

DebianでphpMyAdminのログイン画面でログインが出来ない事象があります。

ログイン画面でこのようなエラーがあります。

エラー内容の一部

Deprecation Notice in ./../../php/Twig/Loader/FilesystemLoader.php#40 realpath(): Passing null to parameter #1 ($path) of type string is deprecated Backtrace FilesystemLoader.php#40: realpath(NULL)

こののエラーメッセージは、realpath()関数にnullが渡されているために発生しています。PHP 8.1から、realpath()関数へのnullの渡しは非推奨(deprecated)とされ、将来のバージョンでエラーになる可能性があります。この問題は、phpMyAdminや使用しているライブラリのコード内で、期待される文字列の代わりにnullが渡されている場合に起こります。

解決策

phpMyAdminのアップデート: この問題は、phpMyAdminの新しいバージョンで修正されている可能性があります。

最初のステップとして、phpMyAdminを最新バージョンにアップデートすることをお勧めします。

phpMyAdminの公式ウェブサイトから最新バージョンをダウンロードし、インストールガイドに従ってアップデートしてください。

Debianの公式リポジトリを使用するか、phpMyAdminの公式ウェブサイトから最新版を直接ダウンロードしてインストールする方法があります。

公式リポジトリを使用する場合、最新版がすぐには利用できないことがあるため、より新しいバージョンを必要とする場合は直接ダウンロードする方法が適しています。

直接ダウンロードしてインストールする方法

まずスーパーユーザーでloginします。
zipをダウンロード回答するので適当なフォルダに移動します。
例:

cd /myfolder

最新のphpMyAdminをダウンロード: phpMyAdminの公式ダウンロードページから最新バージョンをダウンロードします。
wgetを使用してコマンドラインからダウンロードすることもできます。例:

wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip

ダウンロードしたファイルを解凍: ダウンロードしたZIPファイルを解凍します。

unzip phpMyAdmin-5.1.1-all-languages.zip

既存のphpMyAdminを置き換える

解凍したディレクトリを、既存のphpMyAdminがインストールされているディレクトリに移動します。
既存のインストールをバックアップすることを忘れないでください。

sudo mv /usr/share/phpmyadmin /usr/share/phpmyadmin_backup
sudo mv phpMyAdmin-5.1.1-all-languages /usr/share/phpmyadmin

設定ファイルのコピー: config.inc.phpファイルを新しいディレクトリにコピーします。既存の設定を保持したい場合は、このステップが重要です。

sudo cp /usr/share/phpmyadmin_backup/config.inc.php /usr/share/phpmyadmin/

一時ディレクトリの設定

phpMyAdminは一時ファイル用にディレクトリを必要とします。適切なパーミッションを設定してください。

sudo mkdir /usr/share/phpmyadmin/tmp
sudo chmod 777 /usr/share/phpmyadmin/tmp

Webサーバーの再起動

変更を適用するために、Apacheまたは使用しているWebサーバーを再起動します。以下のコマンドはApacheの再起動方法です。

sudo systemctl restart apache2

再起動後、phpMyAdminに入りログインできるか確認します。
以上になります。

記事