最終更新日 2024-09-25

IIS と PHP

この項目は秀丸とは直接関係がありませんが、
PHPの周辺知識の一貫として、Azureクラウドではなく
ローカルPCやVPSといった、比較的旧来の手法の紹介となります。

前項ではAzureについて解説しました。
将来の方向性を考慮すると、Azureをオススメしますが、
別の手段としてはIISによる方法もあります。

IISの導入

次項にて解説しています。

IISで「PHP」を使えるようにする

Windowsのサーバーマネージャの役割と機能の追加より

サーバーマネージャーの役割と機能の追加ウィザード開始画面
サーバーマネージャから進めていく

IISの中のCGIの項目にチェックを入れるようにしましょう。

Webサーバー(IIS)の役割サービスでCGIを選択する画面
CGIの項目にチェックを入れる

こうすることで、IIS内の「ハンドラモジュール」として「FastCGIModule」を選択できるようになります。

PHPのダウンロード

PHP for Windowsのダウンロードより、「x64 Non Thread Safe」版をダウンロードしましょう。

Apacheではなく、IISで利用するため、Non Thread Safe版となります。

PHP for WindowsダウンロードサイトのNon Thread Safe版ダウンロードリンク
最新版の「x64 Non Thread Safe」

そして、zipを解答し、「C:\usr\php」フォルダなど、お好みの場所に展開してください。

Cドライブ直下のusrフォルダ内にphpを展開した様子
使いやすい場所に

Visual Studio C++ 2015-2022 Runtime

こちらのページよりVC++ 2015-2022ラインタイムをインストールしましょう。

Microsoft公式からVC++ランタイム(vc_redist.x64.exe等)をダウンロードする画面
vc_redist.x86.exe / vc_redist.x64.exe

各種ネイティブプログラムで必要となるシーンが多いため、先にインストールしておきましょう。

IISでPHPをFastCGIとして登録

IISマネージャを起動し、ハンドラーマッピングから設定しましょう。

IISマネージャーでハンドラーマッピングを選択する画面
ハンドラーマッピング

右メニューより「モジュールマップの追加」を選びます。

ハンドラーマッピング画面でモジュールマップの追加を選択する様子
モジュールマップの追加

「*.php」として以下のように設定しましょう。

*.phpに対してFastCGIModuleを設定するダイアログ
*.phpに対して設定

「要求の制限」として以下のように設定しましょう。

モジュールマップ追加時の要求の制限設定画面
要求の制限

以上で、phpが使えるようになりました。

規定のドキュメントにindex.phpを追加

index.php などを増やしましょう。

IISマネージャーで規定のドキュメントを選択する画面
規定のドキュメント
規定のドキュメントにindex.phpを追加した状態
規定のドキュメント

PHP.iniを編集する

「php.ini-development.ini」をコピーして、「PHP.ini」を作成、編集しましょう。

あたりは以上のように「;」のコメントアウトを外して有効化したり、
もしくはデフォルトを書き換えする必要があるでしょう。