XAMPPでPHP8からPHP7へバージョンを下げる
使用環境
- XAMPP 8.0 (PHP 8.0)
- windows10
背景
PHP7で開発していたLaravelアプリを別のPCで(PHP8)でも開こうと思ったら開けない!composer installがエラーになった。どうやらPHPのバージョンが違うぞ!と怒られたっぽい。ということでPHPをダウングレードすることにした。
XAMPPのApacheは消しておく
起動したまま操作しない方が良いみたい。
PHP7をダウンロードする
公式ページからPHP7をダウンロードする。今回、使用したのは**VC15 x64 Thread Safe (2021-Jan-05 18:10:24)**というファイル。
PHPダウンロード
XAMPP内のPHPディレクトリをバックアップする
コピーでもOKなのですが、私はディレクトリ名をPHP → PHP8に変更した。
ダウンロードしたPHP7のディレクトリをPHPディレクトリとしてXAMPPディレクトリ内に移動
PHPディレクトリを新しく作って、その中に解凍したPHP7関連のファイルを全て放り込む。
PHP8で使用していたphp.iniをPHP7(PHPディレクトリ)にコピー
コピーしてそのまま使用。
ApacheのPHP設定を編集する
C:\xampp\apache\conf\extra\httpd-xampp.conf
内のPHP8と書かれているところを全てPHP7に変換。
Apacheを起動
と思ったら、Apacheが起動しない!!!!
シャットダウン時に予期せぬエラーが発生した...みたいなことが書いてある!?
嫌な予感。MySQLが起動しないパターンでXAMPPを再インストールした過去があるのですごく嫌な予感。
PHPのバージョン確認してみる
コマンドプロンプトでphp -v
を入力してみる。
エラーが発生。なんかファイルが無いっぽいことをいってる。
PHP Warning: Cannot open 'C:\xampp\php\extras\browscap.ini' for reading in Unkno
wn on line 0
Warning: Cannot open 'C:\xampp\php\extras\browscap.ini' for reading in Unknown on
line 0
PHP Fatal error: Unable to start standard module in Unknown on line 0
Fatal error: Unable to start standard module in Unknown on line 0
よくわからないけどPHP8のディレクトリに
xampp\php\extras\browscap.ini
があったのでコピーしてPHP7のxampp\php\extras
に置いてみた。
もう一度バージョン確認
XAMPPのshellを起動してphp -v
と入力すると、きちんとPHP8からPHP7にバージョンが変わっている。
さぁ、Apacheの起動だ
と思ったら、再度エラー。起動しない。
調べていくとコンパイラとか違ったら設定ファイルとか使いまわせないみたいなことが出てきた。
さらに調べてみるとどうやらSAPIモジュールというものが変更されているらしい。
Apache2Handler
PHP モジュールの名前が php7_module から php_module に変更されました。
PHP公式ドキュメント
ということで
xampp\apache\conf\extra\http-xampp.conf
内のphp_moduleと書かれているところをphp7_moduleに変更。全部で4か所あった。
正直、どれが作用しているのかはわからない。
3度目の正直、Apacheの起動
今回は無事、起動できた。