Windows版 XAMPP-Liteでphp8.3、php8.4のWebサーバー環境を構築する

契約サーバーからPHPの推奨バージョンを「PHP 8.3」に変更するとの連絡がきました。自分のローカル環境は8.2なので、これはいかんと思いxamppのphp8.3t対応のものを探そうとしたのですが、Windows版のXAMPPは2023年11月にVer.8.2.12が公開されてから新しいバージョンは公開されていません。
すでに、php8.4.XXは公開されており、php8.5.0 Alpha 4も公開されているのに、php8.3XXが公開されていないのはどうしたことでしょう。開発がストップしたのか、それともなにか方針が変わったのか分かりませんが、これは困ったことになったと落胆しておりました。が、もしかしてインストール不要のポータブル版ならあるのかもしれないと探してみると…ありました。
というわけで、php8.3版のものをダウンロードしてウェブサーバー環境を構築してみました。
ファイルのダウンロード
ダウンロードのページから自分の環境にあったファイルをダウンロードします。かなりの数のファイルがあります。
https://sourceforge.net/projects/xampplite


XAMPP-Liteのページにアクセスし、トップから少し下にある「Project Activity 」のすべてを表示するページ(See All Activityをクリック)に移動します。

目的のファイルをダウンロードする
インストール版とポータブル版
XAMPP-Liteにはインストール版とポータブル版があります。インストール版はその名の通りインストールしたマシンでのみ使用できますが、ポータブル版はいろいろなストレージにインストール(というよりコピー?)して使うことが可能で、システム・データごと移動・コピーすることができるので便利です。今回はポータブル版をダウンロードしました。
すぐにphp8.4への移行も必要になってくるので、今回は公開されている新しいバージョンのPHP8.3、PHP8.4版の両方ダウンロードして使えるようにしてみました。
ファイル名からダウンロードするファイルを決定する
上記ページには多くのファイルが記載されています。どれをダウンロードするか分かりづらいですが、ファイル名から目的のファイルを探します。
以下のファイルを例にしてみてみます。
XAMPP-Lite released /8.3/8.3.20/x64/php-man-ja/XAMPP-Lite-8.3.20.1-x64-php-man-ja-Setup.exe
XAMPP-Lite released /8.3/8.3.20/x64/php-man-ja/XAMPP-Lite-8.3.20.1-x64-php-man-ja-portable.7z
XAMPP-Lite released /8.3/8.3.20/x64/php-man-ja/XAMPP-Lite-8.3.20.1-x64-php-man-ja-portable.sfx.exe
XAMPP-Lite releasedの後の文字・数値の意味
/8.3 XAMPP-Liteのバージョン
/8.3.20 PHPのバージョン
/x64 CPUのアーキテクチャ 64ビットマシンで使う場合はx64、32ビットマシンの場合はx86を選択します。
/php-man-ja 日本語に翻訳されたPHPのマニュアルを入れる場合はこの記載のあるバージョンを選択。同梱されてないバージョンは/no-php-manになっています。
Setup.exe インストールバージョン
portable.7z インストールしないで使用するポータブルバージョン。7zで圧縮されたファイル。7-Zip(セブンジップ)で解凍します。
portable.sfx.exe インストールしないで使用するポータブルバージョン。自動解凍型なので圧縮解凍ソフト7-Zipは必要ありません。
ちなみにphp8.4の場合は以下のようなファイルになります。
XAMPP-Lite released /8.4/8.4.5/x64/php-man-ja/XAMPP-Lite-8.4.5.1-x64-php-man-ja-Setup.exe
XAMPP-Lite released /8.4/8.4.5/x64/php-man-ja/XAMPP-Lite-8.4.5.1-x64-php-man-ja-portable.sfx.exe
XAMPP-Lite released /8.4/8.4.5/x64/php-man-ja/XAMPP-Lite-8.4.5.1-x64-php-man-ja-portable.7z
ファイルの展開・設置
今回は今後の移行も考え、インストールしないで使用するphp8.3の自動解凍型ポータブル版をダウンロードしました。
ファイルの自動解凍

ダウンロードしたファイル(XAMPP-Lite-8.3.20.1-x64-php-man-ja-portable.sfx.exe)を起動するとどこに解凍するか聞かれるので、適当な場所を指定して解凍します。解凍したファイルを作業するストレージにコピーまたは移動します。自分はCドライブ直下にしました。

ついでなので、php8.4のポータブルバージョンもCドライブ直下においてみました。現在は、php8.2のインストールバージョン(XAMPP)、php8.3,php8.4のポータブルバージョン(XAMPP-Lite)がCドライブに同居しています。(笑)
フォルダ名を変更してもいいのですが、どのバージョンか分かり易いようにそのままにしてあります。
XAMPP-Liteの起動と終了
起動
xampp_lite_8_3直下の「XL-Control-Panel.x64.exe」をダブルクリックして起動します。


終了
XAMPPを終了するには、念のためApache、MySQLのStopボタンをクリックして終了させ、xボタンをクリックして終了します。Apache、MySQLをストップしないでXAMPPを終了すると不具合(MySQLが起動しなくなる)が起こることがあるという記事を読んだことがあります。

ファイルへのアクセス
localhostへのアクセス
localhostへはhttps://127.0.0.1/ または https://localhost/ でアクセスできます。

アクセスの警告
セキュリティリスクありの警告が出たら、危険性を承知の上で使用をクリックします。

ウェブ関連ファイルの設置場所
自分のウェブ関連のファイルは xampp_lite_8_3/www/ 下に置きます。例えばxampp_lite_8_3/www/myweb/test.php なら https://localhost/myweb/test.php でアクセスできます。
MySQLデータの移行
MySQLのデータはフォルダごとMySQLのデータフォルダにコピペするだけで使えるようになります。以前XAMPPではデータベースのデータ移行には苦労した経験があるのですが、XAMPP-Liteでは簡単に終わり、拍子抜けしてしまいました。(笑)
1,XAMPPのMySQLをstopする
2,自分のMySQLデータをフォルダごと xampp_lite_8_3/app/mysql/data 下にコピー&ペーストする。
3,XAMPPのMySQLをstartする
4,https://localhost/phpmyadmin または https://localhost/adminer で確認する
設定
タイムゾーン設定
xampp_lite_8_3/apps/php/にあるphp.iniをエディタで開き、1000行あたりの date.timezone = Asia/Tokyo を追加し、apacheを再起動します。
[Date]
; Defines the default timezone used by the date functions
; https://php.net/date.timezone
;date.timezone = Africa/Tunis
date.timezone = Asia/Tokyo ⇐ 追加します
GDライブラリの設定
Fatal error: Uncaught Error: Call to undefined function exif_imagetype() in C:\xampp_lite_8_3\www\…
とか
Error: Call to undefined function exif_imagetype() in C:\xampp_lite_8_3\www\…
とかのエラーが出る場合、phpのGDライブラリが有効になっていない場合があります。これもphp.iniを編集して上書きし、apacheを再起動します。いずれも「;」をとってコメントアウトをはずします。
944行あたり
;extension=gd
↓
extension=gd
950行あたり
;extension=exif ; Must be after mbstring as it depends on it
↓
extension=exif ; Must be after mbstring as it depends on it
1682行あたり
;mbstring.language = Japanese
↓
mbstring.language = Japanese
EnriqueによるPixabayからの画像