Windowsで複数バージョンのPHPをインストールして使い分ける方法
※本ページはプロモーションが含まれていますVS CodeでPHPファイルを開くと、php.exeのパスを設定しろと言われます。
Cannot validate since a PHP installation could not be found. Use the setting 'php.validate.executablePath' to configure the PHP executable.
PHPをインストールしていなかったので、PHPをインストールする必要があるのですが、どうせならバージョンを切り替えられるようにしたいと思い、「WindowsへのPHPのインストール方法 複数バージョンの使い分けも簡単」を参考に自分なりに構築しましたので手順を紹介します。
PHPのインストール
PHP: Downloadsにアクセスし、ダウンロードしたいバージョンの「Windows downloads」をクリック。
「Thread Safe」のZipをクリックしてダウンロード。上に「Non Thread Safe」版があるが、それはサーバーソフトにMicrosoftのIISを使う場合に使う。
ダウンロードしたzipファイルを解凍し、できた「php-8.0.5-Win32-vs16-x64」というようなフォルダ(8.0.5はダウンロードしたバージョンによって違う)を、自分が管理しやすい場所に移動。
僕の場合、ユーザーディレクトリ内に「PHP」というフォルダを作ってその中に移動させた。
C:\Users\ユーザー名\PHP\php-8.0.5-Win32-vs16-x64
「php-8.0.5-Win32-vs16-x64」を開き、「php.ini-development」というファイルを探し、コピーして「php.ini」に変更。
テキストエディタで新しいファイルを開き、下記内容を自分が設置したフォルダ階層に変更して「php.bat」というファイル名で保存。
@echo off "C:\Users\ユーザー名\PHP\php-8.0.5-Win32-vs16-x64\php.exe" %*
保存場所は、上記の例だとここ。
C:\Users\ユーザー名\PHP\php.bat
パスを通す
ユーザー環境変数の「Path」→「編集」をクリック。
「環境変数」を開く。
「新規」をクリックし、先程設定した「php.bat」があるフォルダを選択肢「OK」をクリック。
環境変数ウィンドウも「OK」をクリックして閉じる。
PHPの実行確認
コマンドプロンプトを開き、phpが実行できるか確認。既に開いているコマンドプロンプトで実行すると、パスがまだ反映されていないので、既にコマンドプロンプトが開いていたら一旦閉じて立ち上げるとパスが通っている。
php -v
こんな感じで表示されればOK。
別のバージョンのPHPを使う
別のバージョンのPHPを使いたい場合は、再びPHP: Downloadsにアクセスし、使いたいバージョンのPHPファイルをダウンロードし、解凍したフォルダを先程作ったPHPフォルダに入れる。
新しいバージョンのフォルダ内にある「php.ini-development」をコピーして「php.ini」にリネーム。
php.batファイルを開き、既に使っていたパスの行の先頭に「@REM」を付けてコメントアウトし、次の行に使いたい別バージョンの情報を追加して保存。
@echo off @REM "C:\Users\ユーザー名\PHP\php-8.0.5-Win32-vs16-x64\php.exe" %* "C:\Users\ユーザー名\PHP\php-7.4.18-Win32-vc15-x64\php.exe" %*
「php.bat」ファイルのパスは既にとしてあるので、このままコマンドプロンプトで「php -v」をすると別のバージョンのPHPを使っていることがわかる。
既にインストールしているPHPのバージョンなら、「php.bat」ファイル内のパスをコメントアウトとコメントアウト解除で自由にバージョン変更できます。
VS CodeにPHPのパスを設定
VS Code を開き、
「php.validate.executablePath」に、先程インストールした「php.exe」のフルパスを入力。
これで設定完了です。
おわりに
PHPのインストールと言うと、Program Fileフォルダにインストールされ、ファイル構造がわからなくなる感じかと思いましたが、自分が指定したフォルダ内で完結しているので管理しやすいなと思いました。