2023年4月時点のPHPの最新バージョンは8.2.4。これを使う。まずは公式ページ(https://windows.php.net/download#php-8.2)からダウンロードする。左側に以下のとおりに表示されているとおりに、
IIS If you are using PHP as FastCGI with IIS you should use the Non-Thread Safe (NTS) versions of PHP.
ノンスレッドセーフ版(VS16 x64 Non Thread Safe)を使用する。EXEファイルは提供されておらずZIPファイル(php-8.2.4-nts-Win32-vs16-x64.zip、30.2MB)が提供されており、これをダウンロードする。
フォルダーC:\phpを作成し、圧縮ファイルの中身をすべて展開する。
C:\phpにphp.ini-developmentがあるはず。これをコピーして、そのファイル名をphp.iniとして同じフォルダーに保存する。 php.iniをテキストエディタで開き、以下の6つの項目はいずれもコメント化されているが、先頭の;(セミコロン)を削除して有効にし、等号の右側の値を以下のとおりにする。open_basedirにはドキュメントのルートディレクトリを、opcache.error_logにはエラー発生時に出力するログの出力ファイルを指定する。
fastcgi.impersonate = 1 cgi.fix_pathinfo = 0 cgi.force_redirect = 0 extension_dir = "./ext"
エクスプローラーで左側の「PC」を右クリック、「プロパティ」をクリック。「設定」ウィンドウが表示される。
右側の「システムの詳細設定」をクリック。「システムのプロパティ」ダイアログが表示される。
「詳細設定」タブの右下の「環境変数」ボタンをクリック。「環境変数」ダイアログが表示される。
下側の「システム環境変数」から「Path」を探してクリックし、下の「編集」ボタンをクリック。「環境変数名の編集」ダイアログが表示される。
「新規」ボタンをクリックして、「C:\php」を追加して(最後でかまわない)、「OK」ボタンをクリック。「環境変数」ダイアログに戻る。
「OK」ボタンをクリック。「システムのプロパティ」ダイアログに戻る。
「OK」ボタンをクリック。これで環境変数が設定された。
インターネットインフォーメーションサービス(IIS)マネージャーを起動する。
左側の「接続」パネルで、当該サーバのホスト名をクリック。真ん中の「○○ホーム」パネルで「ハンドラーマッピング」アイコンをダブルクリック。真ん中のパネルが「ハンドラーマッピング」になる。右側の「操作」パネルの「モジュールマップの追加...」をクリック。「モジュールマップの追加」ダイアログが表示される。
以下のように入力する。
要求パス:*.php モジュール:FastCgiModule 実行可能ファイル(オプション):C:\php\php-cgi.exe 名前:FastCGI
「OK」ボタンをクリック。以下のダイアログが表示されるが「はい」ボタンをクリックする。
中央の「ハンドラーマッピング」パネルに「FastCGI」が追加されたはず。
左側の「接続」パネルのホスト名をダブルクリック。中央の「○○ホーム」の「既定のドキュメント」アイコンをダブルクリック。右側の「操作」パネルの「追加...」をクリック。「既定のドキュメントを追加」ダイアログが表示される。
「名前」に「index.php」を入力して「OK」ボタンをクリック。同様にして、「default.php」も入力して「OK」ボタンをクリック。中央の「既定のドキュメント」パネルに、それぞれ「index.php」と「default.php」が追加されたはず。
これでPHPが使えるようになったはず。動作確認を行う。以下の3行からなるテキストファイルを作成して、ドキュメントのルートディレクトリ(通常は「C:\inetpub\wwwroot」)にphpinfo.phpと保存する。
<?php
phpinfo();
?>
http://localhost/phpinfo.phpをブラウザで開いてページが正しく表示されれば成功。