Visual Studioの新しいバージョンでは、IISExpressの構成ファイル「applicationhost.config」の個別のコピーが保持されます。オンラインのほとんどの手順では、マスターapplicationhost.configファイルをターゲットにする方法を示していますが、VS2017は別のコピーを保持し、IISExpressの起動時にこのコピーを使用するため効果がありません。このシナリオでPHPを有効にするには、VS2017のプライベートコピーを編集する必要がありました。
前提条件-Webプラットフォームインストーラーを使用してPHPをインストールします。(IIS Express用のものは必要ありません。通常のPHPダウンロードだけです。)x86またはx64を使用できます。これにより、選択したC:\ Program Files \またはC:\ Program Files(x86)\のいずれかにPHPがインストールされます。また、彼らのWebサイトからPHPを入手することもできます。
プロジェクトのapplicationhost.configを見つけます。これは、非表示の.vsサブフォルダーにあります。例:C:\ MyProject \ .vs \ applicationhost.config
コマンドウィンドウから次のコマンドを実行し、プロジェクトフォルダーとインストールしたPHPバイナリをパスに置き換えます。
"C:\ Program Files(x86)\ IIS Express \ appcmd.exe" set config /section:system.webServer/fastCGI / + [fullPath ='" C:\ Program Files(x86)\ PHP \ {{YOUR PHP VERSION }} \ php-cgi.exe "'] / apphostconfig:" C:\ {{YOURPROJECT}}\。vs\config \ applicationhost.config "
"C:\ Program Files(x86)\ IIS Express \ appcmd.exe" set config /section:system.webServer/handlers / + [name ='PHP_via_FastCGI'、path ='*。php'、verb ='*'、 modules ='FastCgiModule'、scriptProcessor ='"C:\ Program Files(x86)\ PHP \ {{YOUR PHP VERSION}} \ php-cgi.exe"'、resourceType ='Unspecified'] / apphostconfig: "C:\ {{YOURPROJECT}}\。vs\config \ applicationhost.config "
または、テキストエディタでプロジェクトのapplicationhost.configを編集して、次のセクションを追加することもできます。
system.webServer / fastCGI
<fastCgi>
<application fullPath="C:\Program Files (x86)\PHP\v7.1\php-cgi.exe" />
</fastCgi>
system.webServer / handlers
<add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v7.1\php-cgi.exe" resourceType="Unspecified" />
明確にするために、IIS Express \ AppServer \ applicationhost.configまたは%appdata%フォルダー内の編集は、VisualStudioの外部でIISExpressを起動するなどの高度な操作を行わない限り、役に立ちません。