
2010年から、WordPressという無料のシステムを使っています、スーのページです。
そのワードプレスをローカル環境(自分のパソコン上)でも動かすため、XAMPPというツールを使用していますが、PHPというもののバージョンを切り替える必要が出てきたので、最近ブログも更新してないのに、重い腰あげてメモ。
XAMPPでPHP7.4と8.2を切り替えて使う方法
ここ数年はPHPのバージョン7.4を使っていれば良かったの。
なのに、数日前に、ブログの裏方画面にこんな表示が。

このサイトは古いバージョンの PHP (7.4.33) を実行しており、セキュリティアップデートを受け取れません。更新する必要があります。
PHP の推奨バージョンは 8.3 以上です。
うわ~、なんか面倒くさそう。。(>△<)
とりあえず、レンタルサーバー(サイトを置いている場所)の管理画面からPHPのバージョンを8.3にして様子を見てみた。
スーペーは問題ないっぽいものの、昔作ったサイトや自分で書いた占いのプログラムがエラーになる。。
時が止まった私のサイトですが、またハッキングされると嫌なので、久々にやりますか。
と、やったら、結構面倒だったので、同じような人の参考になれば+自分用メモ。
XAMPP7.4にPHP8.2を追加する

XAMPPが既にインストールされている状態から始めるよ。
私の場合はバージョン7.4.11
参考にしたのはコチラ。
XAMPP8.2.12をダウンロード
XAMPPの歴代バージョンから、一番上の「8.2.12」をクリック。
(2023-11-21で更新が止まっている)

一番上のzipバージョン、「xampp-windows-x64-8.2.12-0-VS16.zip」をダウンロードし、解凍。

「apache」「php」「phpMyAdmin」フォルダの後ろにバージョン番号を追加し、リネーム。
apache→apache8212
php→php8212
phpMyAdmin→phpMyAdmin8212

1.リネームした「apache8212」と「php8212」「phpMyAdmin8212」を、既にインストールされている(前から使っている)XAMPPフォルダ内(C:\xampp)にコピー。
2.XAMPPフォルダ内(C:\xampp)にある「apache」「php」「phpMyAdmin」フォルダを、これまで使っていたバージョン名(私の場合は7.4.11)を追加しリネーム。
シンボリックリンクの作成
シンボリックリンクは、ショートカットのようなもので、PHPの切り替えを簡単にするよ。
コマンドプロンプトでシンボリックリンク作成。
mklink /D C:\xampp\apache C:\xampp\apache8212
mklink /D C:\xampp\php C:\xampp\php8212
mklink /D C:\xampp\phpMyAdmin C:\xampp\phpMyAdmin8212

「apache」「php」「phpMyAdmin」フォルダのショートカットのようなものが作成されたら成功♪

「apache」フォルダのプロパティを見ると、リンク先が「apache8212」になっているのを確認。
「php」フォルダのプロパティなら、リンク先は「php8212」に。

コントロールパネルから起動して正常に動作しているか確認。
GD(画像処理ライブラリ)を使う場合、「php8212」フォルダ内、「php.ini」ファイルの931行目、
;extension=gd
のセミコロンを外し、
extension=gd
にする。

ダッシュボードの右上、「PHPInfo」をクリックすると、PHPのバージョンが見れる。

PHPのバージョンが8.2.12になっていたら成功!
PHP8.3と8.4を追加する
XAMPPは8.3からのバージョンがないので、PHPを直接ダウンロード。
参考にしたのはコチラ。
私は8.4で説明するけど、8.3も手順は同じ。

「Windows downloads」をクリック。

左側に、「Apache」(XAMPP)を使う場合は、「Thread Safe」バージョンを使うこと、と書かれているので、
「x64 Thread Safe」のZipファイルをダウンロードし、XAMPPフォルダ内(C:\xampp)で解凍。
解凍フォルダ「php-8.4.10-Win32-vs17-x64」を分かりやすく、リネーム。
php-8.4.10-Win32-vs17-x64→php8410
8.3も、同様に。

とりあえず、こういう状態。
一番下の「phpMyAdmin8323」「phpMyAdmin8410」は、後述。
php.iniを作成する
設定ファイル、php.iniがないので、php.ini-developmentをコピーし、そのまま貼り付け、php.iniにリネーム。(php.ini-developmentは、残しておく)
中身の設定は、基本的に「php8.2.12」のphp.iniと同じでいいので、それを参考にしつつ、編集。
主な変更箇所。
extension_dir="C:\xampp\php\ext"
extension=curl
extension=fileinfo
extension=gd
extension=gettext
extension=mbstring
extension=exif
extension=mysqli
extension=pdo_mysql
extension=pdo_sqlite
upload_max_filesize=128M
post_max_size = 128M
memory_limit=512M
max_execution_time = 180
pearを使う場合
8.3、8.4にはpearが同梱されていないので、もし必要な場合は、「php8212」フォルダの中から必要なものをコピー。
php.iniのinclude_pathを編集。
include_path=C:\xampp\php\PEAR
php.iniの分かりやすい設定は、こちらも参考に。
browscap.iniをコピーする
必要なファイルが足りなくて、エラーになる場合があるので、「php8212」フォルダの中から8.3、8.4へコピーする。
C:\xampp\php8212\extras\browscap.ini
8.3、8.4の同じ場所へコピー。
phpMyAdmin 5.2.2を追加する
ついでに、最新のphpMyAdmin 5.2.2も追加する場合、公式サイトから最新版をダウンロードし、解凍。

一番上の「phpMyAdmin-5.2.2-all-languages.zip」をダウンロードし、XAMPPフォルダ内(C:\xampp)で解凍。
もうここまで来れば、だいたい分かると思うけど、解凍フォルダを「phpMyAdmin8323」にリネーム。
phpMyAdminにログインできない(パスワードが必要)場合、いずれかの「phpMyAdmin」フォルダ内のconfig.inc.phpをコピーする。
C:\xampp\phpMyAdmin\config.inc.php
phpMyAdmin6.0.0を追加する
PHP8.4を使う場合、phpMyAdmin6でないと動かない。

下の方にある開発バージョン「phpMyAdmin-6.0+snapshot-all-languages.zip」をダウンロードし、XAMPPフォルダ内(C:\xampp)で解凍。
解凍フォルダを「phpMyAdmin8410」にリネーム。
PHP8.4以降の場合、sodiumを追加する必要がある。
ファイル php.ini
C:\xampp\php8410\php.ini
追加(検索し、セミコロンを取る)
extension=sodium
ファイル httpd-xampp.conf
C:\xampp\apache8212\conf\extra\httpd-xampp.conf
追加(LoadFileで検索)
LoadFile “/xampp/php/libsodium.dll”
ここまでの構造
| XAMPP | apache | php | phpMyAdmin |
|---|---|---|---|
| XAMPP7.4 | apache7411(2.4.46) | php7411 | phpMyAdmin7411(5.0.3) |
| XAMPP8.2 | apache8212(2.4.58) | php8212 | phpMyAdmin8212(5.2.1) |
| PHP8.3 | – | php8323 | phpMyAdmin8323(5.2.2) |
| PHP8.4 | – | php8410 | phpMyAdmin8410(6.0.0) |
PHPを簡単に切り替えるバッチファイル作成

コマンドプロンプトで、簡単にPHPのバージョンを変更できるバッチファイルを作成。
エディタ等で、下のコードを適当な名前(change_php.bat)をつけて、文字コードShift-JISで保存。
デスクトップなどに置き、右クリック、「管理者として実行」を選択して起動。
@echo off
echo.
echo 現在のphpバージョン:
echo.
php -v
echo.
echo 1: PHP 7.4.11
echo 2: PHP 8.2.12
echo 3: PHP 8.3.23
echo 4: PHP 8.4.10
echo C: Cancel
echo.
echo 現在のバージョンを変更する場合は1~4を選択してください。
choice /c 1234C /M "使いたいPHPのバージョン"
echo %errorlevel%
if %errorlevel% equ 1 goto PHP_74
if %errorlevel% equ 2 goto PHP_82
if %errorlevel% equ 3 goto PHP_83
if %errorlevel% equ 4 goto PHP_84
goto OnExit
:PHP_74
echo PHP7.4に変更します。
rmdir C:\xampp\apache
mklink /D C:\xampp\apache C:\xampp\apache7411
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php7411
rmdir C:\xampp\phpMyAdmin
mklink /D C:\xampp\phpMyAdmin C:\xampp\phpMyAdmin7411
echo PHP7.4に切り替えました
pause
goto OnExit
:PHP_82
echo php8.2に変更します。
rmdir C:\xampp\apache
mklink /D C:\xampp\apache C:\xampp\apache8212
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php8212
rmdir C:\xampp\phpMyAdmin
mklink /D C:\xampp\phpMyAdmin C:\xampp\phpMyAdmin8212
echo PHP8.2に切り替えました
pause
goto OnExit
:PHP_83
echo php8.3に変更します。
rmdir C:\xampp\apache
mklink /D C:\xampp\apache C:\xampp\apache8212
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php8323
rmdir C:\xampp\phpMyAdmin
mklink /D C:\xampp\phpMyAdmin C:\xampp\phpMyAdmin8323
echo PHP8.3に切り替えました
pause
goto OnExit
:PHP_84
echo php8.4に変更します。
rmdir C:\xampp\apache
mklink /D C:\xampp\apache C:\xampp\apache8212
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php8410
rmdir C:\xampp\phpMyAdmin
mklink /D C:\xampp\phpMyAdmin C:\xampp\phpMyAdmin8410
echo PHP8.4に切り替えました
pause
goto OnExit
:OnExit
‘php’ は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と表示される場合、パスが通っていない。
phpのパスの通し方はコチラ。
以上、XAMPPでPHP7.4と8.2、ついでに8.3と8.4を切り替えて使う方法でした。













コメント