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に入りログインできるか確認します。
以上になります。