xamppにphp8.3を入れてみた。
xamppは言わずと知れたwebサーバーのプラットホームです。
mysqlも実装しており、phpのテスト環境としてとても重宝します。
ですがxamppの更新が2023年の11月以降なく(2024年12月時点)phpのバージョンも8.2止まりです。
phpは定期的にバージョンアップがあり、そのたびに既存プログラムが正常動作するか確認する必要があります。
そろそろ最新版のphp8.3で動作確認をしたいのですが、xamppが更新されなければできません。
なので考えました。
最新のPHPをダウンロードし、PHPだけ差し替えることはできないものか?
xamppだから、付属のPHPもそれなりにカスタマイズされているのでは?
と一抹の不安も感じましたが、やってみたらphp8.3に差し替えできました。
忘備録として記録いたします。
今回の環境
- OSはWindows11
- xammpのバージョンは8.2.12
- ポータブル版のxamppを使用
私は複数のPHPバージョンに対応するために、ポータブル版のxamppを複数入れています。
ポータブル版はコピーするだけで動作するため、複数のxamppを同時に入れられるためです。
例えばPHP5.6ならばフォルダ名をxampp56、PHP7.4ならばxampp74というように、フォルダ名を変えて複数のxamppをいれ、各phpのバージョンに対応しています。
※xampp通常版の場合、今回のやり方ではうまくいかない場合があります。
大まかな作業の流れ
ポータブル版xamppにphp8.3を盛り込むのは、思ったより作業が少なかったです。
ただ、肝心な設定がわからなかったため、PHPが誤動作し苦労しました。
その設定さえ正しくできれば、容易に最新版のPHPを導入できます。
その作業の流れは以下の通りです。
- 最新版のPHPをダウンロードする
- ポータブル版のxamppにダウンロードしたPHPをコピーする
- php.iniを環境に合わせて設定する
- windowsのPathを通す【かなり重要】
(1)最新版のPHPをダウンロードする
何はともあれ、PHPの最新版をダウンロードします。
PHPダウンロード からダウンロードできます。
ただ、バージョンや種類がいくつもありわかりにくいです。
以下のものをダウンロードします。
Windows版を選択する
Windows11で動かすので、Windows版を選択します。
VS16 x64 Thred Safe のZIPからダウンロードします
Windowsをクリックすると、英語で各バージョンがズラーっと表示されます。
正直よくわかりません。
ですが、「VS16 x64 Thred Safe のZIP」と覚えておけばOKです。
ちなみにコードの意味は次の通りです。
x64とx86
- x64は64ビット版OS用
- x86は32ビット版OS用
Windows11は64ビットOSなのでx64を選択します。
32ビット版のOSはWindows8、Windows7あたりで最後なので、最近のPCだとx64がデフォルトです。
Thred Safe とNon Thred Safe
- Thred Safe は同時アクセスを想定したバージョン。少し遅い。
- Non Thred Safe は同時アクセスを想定していないバージョン。速いが壊れやすい。
PHPはwebサーバーで動作するため、同時アクセスが前提です。
なので、通常はTherd Safeを選択します。
ですが、開発用で自分しかアクセスしないという場合はNon Thred Safeでも大丈夫です。
ちなみに私は、無難にTherd Safeにしました。
(2)xamppにダウンロードしたPHPをコピーする
次にダウンロードしたPHP8.3をxamppにコピーします。
インストールなど必要なく、phpフォルダにコピーするだけです。
既存のPHPフォルダの名前を変える
バージョンの異なるPHPと混在すると誤動作の原因となるため、古いPHPのフォルダの名前を変えます。
削除してもよいのですが、何かあったら戻せるように私は名前を変えました。
php8.2だったので、「php」→「php82」とフォルダ名を変更しました。
phpフォルダを作成しPHP8.3をコピーする
新たにphpフォルダを作成し、ダウンロードしたPHP8.3をコピーします。
フォルダ名をphpにしておけば、xamppの設定ファイル等を変更する必要がなくなります。
ポータブル版xamppならではの気軽さです。
(3)php.iniを設定する
php.iniファイルを自分の環境に合わせて設定します。
そのままでも動作しますが、使用メモリ量など自分の開発しやすい設定にします。
(4)WindowsのPathを通す(設定していない場合)
(1)~(3)までを行えば、xampp側の設定は完了です。
私は最初(3)まで行いそれなりに動いたので、これでよいと思っていました。
ですがEC-CUBE4.3(PHP8.3必須版)をインストールしようとしたところ、モジュール不足でインストール不可となりました。
正確にはモジュールdllファイルは存在していたのですが、EC-CUBE側から見えないというものでした。どういうことか調べてみると、EC-CUBE側から該当dllファイルがどこにあるのかわからない状態でした。
なんとなくxamppフォルダの下層にphpフォルダがあれば、万事OK。と思っていましたが、どうやらそれだけではだめでした。
Windows側でphpのモジュールdllがいつでも呼び出せるようにPathを通しておく必要がありました。簡単に言うと、xamppのphpフォルダのショートカットをWindows側に覚えさせておくようなイメージです。
これにより、EC-CUBE側が使用するモジュールの場所を知らなくても呼び出せるようになります。そのやり方は以下の通りです。
※すでにphpフォルダをPath設定済みの場合はこの設定をする必要がありません。
Windowsの「設定」から「システム」→「バージョン情報」を開く
Windowsの設定を開きます。
Windowsメニュー内にある灰色の歯車マークが目印です。
Pathの設定箇所はバージョン情報にあります。
なので、システムからバージョン情報をクリックします。
システムの詳細設定を開く
バージョン情報内に「システムの詳細設定」があるのでクリックします。
環境変数ボタンをクリック
システムのプロパティウィンドウが立ち上がるので「環境変数」をクリックします。
Pathを選択し編集ボタンをクリック
環境変数ウィンドウが立ち上がったら、Pathを選択し編集ボタンをクリックします。
ユーザー環境変数とシステム環境変数がありますが、どちらに設定してもOKです。
ちなみにユーザー環境変数に設定した場合は、別のアカウントでPCにログインした場合パスが無効状態になります。(該当のアカウントでログインした場合のみパスが有効になる)
環境変数の編集でxamppのphpフォルダを指定する
具体的にパスを通すフォルダを指定します。
直接記述もできますが、参照ボタンから直接フォルダを選択するほうが記述ミスがなくてよいです。
設定は以上で完了です。
最新版のPHPはいずれ必要になります。
長いことホームページ屋をさせていただいていると、サーバーのバージョンアップに伴い、PHPで制作したプログラムがエラーを起こす。ということがしばしば発生します。
実機でエラーを起こさないようにするには、テスト環境であらかじめ異なるバージョンテストを行い、デバックしなければいけません。
その作業のためには、最新版のPHPが必要になります。
今までは、xamppが定期的にアップデートしていたので、何も考えなくても大丈夫でしたが、アップデートが止まっている現在、自力で何とかしなければいけないようです。
本記事がまたお役に立てば幸いです。