はじめに
今回は、XAMPP環境(PHP7 or 8)でPHP5を使えるようにするために、調査したことをまとめました。
既存のxamppに別のバージョンのPHPをインストールし、PHPのバージョンを切り替えてApacheを起動する
イメージです。
PHP8 ⇄ 7の切り替えについては、以下参照ください。
【PHP】1つのxamppでPHPのバージョンを切り替えて使用する(PHP8 ⇄ 7)
※おことわり※
基本的に学習内容のアウトプットです。
初学者であるため、間違い等あればご指摘いただけますと嬉しいです。
この記事の目的
以下内容のアウトプット
- PHPのインストール
- ComposerでPHPのバージョンを指定
- ApacheとPHPのbit数の関係
既存の開発環境
現状、既存のxamppに PHP8
と PHP7
が、インストールされています。
- xampp 8.1.10, 7.1.30
- PHP 8.1.10, 7.1.30
- Composer 2.2.21
- Apache 2.4.54 (Win64)
この記事の内容
- PHPインストール
- ComposerでPHPのバージョンを指定
- Apacheのバージョン確認
1. PHPインストール
今回、PHP5.6.28をインストールします。
【1】 xampp5.6.28をダウンロード
- ダウンロード先
- ダウンロードするファイル
xampp-win32-5.6.28-1-VC11.zip
【2】 既存のxamppフォルダー内のファイル名を変更
以下2点の、ファイル名を変更する
- xapmm/php → php8110
- xampp/apache → apache_win64
Tips:
ファイル名は任意です。
ここでは、 ファイル名 + バージョン
(php8110), ファイル名 + bit数
(apache_win64)にしています。
【3】 既存のxamppフォルダー内に、ファイルを配置
先ほどダウンロードしたxamppのうち、ファイル名を変更した2点と同名のものを、既存のxamppフォルダーに配置する
Tips:
Apacheファイルごと配置する理由としては、
現状の Apache2.4.54 (Win64)
では、 PHP 32bit + VC11
を起動することができないためです。
そのため、Apache2.4.23 (Win32)
を配置します。
【4】 PHPのバージョンを確認
以下コマンド実行し、phpのバージョンが確認できたら成功
php -v
2. ComposerでPHPのバージョンを指定
【1】 composer.jsonを編集
xampp/htdocs/プロジェクト名/composer.jsonを、以下の通り編集する
// 変更前
"phpunit/phpunit": "~4.0",
// 変更後
"phpunit/phpunit": "^5|^6|^7",
【2】 ComposerでPHPのバージョンを指定
以下コマンドを実行する
// プロジェクトのディレクトリに移動
C:\Users\hoge-huga> cd C:\xampp\htdocs\プロジェクト名
// ComposerでPHPのバージョンを指定
C:\xampp\htdocs\プロジェクト名> composer config platform.php 5.6.28
// アップグレード or ダウングレードを適用
C:\xampp\htdocs\プロジェクト名> composer update
【3】 Apacheを起動
- .env ファイルを配置し、プロジェクトディレクトリで以下コマンドを実行
Composer install
- Apacheを起動し、ブラウザが開いたら成功
以下のような警告は無視してOKです。
内容:
パッケージhoge / hugaは廃止されました。使用しないでください。 代わりにhoge / hugaを使用してください。
Package chumper/zipper is abandoned, you should avoid using it. No replacement was suggested.
Package jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead.
//省略
上記警告について:
3. Apacheのバージョン確認
以下の通り、Apacheのバージョンとbit数を確認することができます。
# httpd -v
Server version: Apache/2.4.23 (Win32)
Server built: Jul 7 2016 11:13:22