MySQL 5.7のサポートが終了するということで、8.0 に移行する準備中。
私はMySQLの使い方に関して詳しくないので、データベース管理は phpMyAdmin を頼ってきました。
そして久しぶりに、phpMyAdmin ログインページを開いたところ、ログイン前なのに画面下部にたくさんのメッセージが。
「Deprecation Notice in ./libraries/classes/Url.php#246
http_build_query(): Passing null to parameter #2 ($numeric_prefix) of type string is deprecated
Backtrace
./libraries/classes/Url.php#246: http_build_query(
array,
NULL,
string ‘&’,
)」
こんな感じのメッセージ枠が何個か表示されて、一体何が起きている?
WordPress を使うことがメインなので、MySQL を直接いじることは滅多になく、久しぶりに立ち上げたらこの画面の状態なので、驚きました。Deprecation notice メッセージを無視してしまえば、phpMyAdmin の動作は正常のようなのですが、画面が切り替えるたびにこのメッセージが出てくるのでうっとうしい。
メッセージを検索してみると、PHPの書式がバージョンによって異なることによるものらしいですが、古いバージョンに戻すわけにはいかないので、数日、この状態で使っていました。
先ほど、ふと気が付くと、トップページの下部に次のメッセージが表示されていることに気が付きました。
「phpMyAdmin の新しいバージョンが提供されています。アップグレードの検討をお奨めします。最新バージョンは 5.2.1 で、2023-02-08 にリリースされています。」ですって。
phpMyAdmin の新しいバージョンがあるらしい。FreeBSD portsコレクションの phpMyAdmin はネーミングルールがコロコロ変化するので、気が付きませんでした。パッケージ検索してみると、
# pkg search phpMyAdmin phpMyAdmin-php80-4.9.11_1 Set of PHP-scripts to manage MySQL over the web phpMyAdmin-php81-4.9.11_1 Set of PHP-scripts to manage MySQL over the web phpMyAdmin-php82-4.9.11_1 Set of PHP-scripts to manage MySQL over the web phpMyAdmin-php83-4.9.11_1 Set of PHP-scripts to manage MySQL over the web phpMyAdmin5-php80-5.2.1_1 Set of PHP-scripts to manage MySQL over the web phpMyAdmin5-php81-5.2.1_1 Set of PHP-scripts to manage MySQL over the web phpMyAdmin5-php82-5.2.1_1 Set of PHP-scripts to manage MySQL over the web phpMyAdmin5-php83-5.2.1_1 Set of PHP-scripts to manage MySQL over the web
phpMyAdmin5 の 8.1 を使えば良さそうなので、pkg コマンドで、上記の青字を抜いて、赤字のものを入れ直したところ問題解決。同じ場所にインストールされるので、httpd.conf の修正は不要。
phpMyAdmin5 の 5 を MySQL5.7 の 5 だと思いこんでました。phpMyAdmin のバージョンだったのね。こんなことで、数日間、煩わしい思いをしていたわけか~。