xamppにPHP8.4を導入しphpMyAdminも動くようにする

php開発環境として使用しているxamppが更新されなくなって1年以上たちます。
いまだに最新版が更新されません。
その間に、PHPのバージョンも8.2→8.4へと上がりました。
さすがに、最新版のPHP開発環境がないと困るため、何とかしようと思いました。
最初は代替アプリを探しました。
でも断念しました。
以下の理由によるためです。
- phpのバージョン切り替えが面倒
- なんだかんだ言って有償
大半のアプリは、無料をうたっていましたが、いざインストールしてみると30日間だけ無料とか、PHPのバージョンを切り替えるためには、オプションで購入が必要など、思ったよりお金がかかりました。
開発環境なので、お金をかけることもやぶさかではありませんが、慣れない環境を1から構築するなら、慣れ親しんだxamppに、直接最新版のPHPを盛り込んだほうがいいのではないかと思いました。
そこで、xamppにPHP8.4を導入することにしました。
ただ一筋縄ではいかなかったので、忘備録として記録します。
まずはxamppにPHP8.4を導入する
これは、以前の記事のPHP8.3の導入方法と同じです。
この記事と同様にやれば、xamppにPHP8.4を導入できます。
PHP8.4を入れたら問題発生

php8.4をxamppに入れたところ、以下の問題が発生しました。
phpMyAdminが起動しない。

原因は、xampp8.2のphpMyAdminがPHP8.4に対応していないためでした。
何とかするには、最新版のphpMyAdminを導入する必要があります。
phpMyAdmin6.0をダウンロードする

phpMyAdminは以下のところよりダウンロードできます。
https://www.phpmyadmin.net/downloads
ですが、最新版は5.2.2となっています。
phpMyAdminのバージョン5はPHP8.4に対応していないため、PHP8.4では起動できません。
が、ダウンロードページの下のほうを見てみると、「phpMyAdmin 6.0+snapshot」という見出しがあります。
これは、開発中のバージョンという意味です。
開発中ではありますが、phpMyAdmin6.0からPHP8.4に対応しています。
事実、このバージョンを入れたら、phpMyAdminが起動するようになりました。
ZIP版をダウンロードします。

既存のphpMyAdminフォルダをリネームし新しいphpMyAdminフォルダを作成
既存のphpMyAdminフォルダを別名にリネームします。
削除してもよいのですが、必要なファイル等あるため、まだ残しておきます。
リネームしたら、新たにphpMyAdminフォルダを作成します。
同じ名称にしておくと、xamppの設定ファイル等変更しなくてよいため楽です。
新たに作成したフォルダに、先ほどダウンロードしたzip版のphpMyAdminを解凍してコピーします。

旧phpMyAdminフォルダからconfig.inc.phpとsqlフォルダをコピーする
旧phpMyAdmin_oldフォルダからconfig.inc.phpとsqlフォルダを新しく作成したphpMyAdminフォルダへコピーします。
config.inc.phpは新たに自分で設定してもOKですが、開発環境で毎回ID、パスワードを入力するのも面倒です。なので、xampp設定版のconfig.inc.phpをコピーします。
sqlフォルダは、MYSQLを更新する場合に必要になります。
今回は使用しませんが、次回MYSQLのバージョン更新時に使用しますので、コピーしておきます。

これで大丈夫と思ったらまたエラーが・・・。

phpMyAdminの最新版を設置したので、さっそく起動してみたところ、次のエラーが発生しました。

どうやら、phpMyAdmin6.0から、sodiumが必須のようです。
ちなみに、sodiumとは暗号化のためのモジュールです。
セキュリティ強化のためのものなので、PHP.iniの設定を変更して、sodiumを有効化します。
sodiumを有効化する

xamppでsodiumを有効化するには、次の2ヵ所の設定を変更します。
- php.ini
- httpd-xampp.conf
php.iniの設定変更
php.iniファイルのsodiumがコメントになっている部分のコメントを外します。
具体的には以下の2か所のコメントを外します。
extension=sodium
extension=php_sodium.dll

httpd-xampp.confの設定変更
xamppでsodiumを有効化するには、php.ini以外に、httpd-xampp.confの設定も変更する必要があります。私は、これに気づかず苦労しました。
具体的には、以下の1行を追加します。
LoadFile “[インストールフォルダ名]/php/libsodium.dll"

xamppを再起動してphpMyAdminが起動できるようになりました

sodiumを有効化後、xamppを再起動しなおすと、PHP8.4環境でphpMyAdminが起動できるようになりました。

たいていの場合、MYSQLを使って開発するため、データベースの設定ツールであるphpMyAdminが使えないと、非常に面倒です。
PHP8.4にバージョンアップし、phpMyAdminが起動できなかったときは、どうしたものかと思いましたが、これでしばらくxamppで開発できそうです。