Более новые версии Visual Studio поддерживают отдельную копию файла конфигурации IIS Express «applicationhost.config».В большинстве онлайн-инструкций показано, как нацелить главный файл applicationhost.config, который не имеет никакого эффекта, поскольку VS2017 поддерживает отдельную копию и использует эту копию при запуске IIS Express.Чтобы включить PHP в этом сценарии, мне пришлось отредактировать личную копию VS2017.
Предварительное условие - используйте программу установки веб-платформы для установки PHP.(Вам не нужен один для IIS Express, просто обычная загрузка PHP.) Вы можете использовать x86 или x64.Это установит PHP в C: \ Program Files \ или C: \ Program Files (x86) \ в зависимости от того, какой из них вы выберете.Вы также можете просто получить 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:\{{YOUR PROJECT}}\.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:\{{YOUR PROJECT}}\.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% не поможет, если вы не сделаете что-то более сложное, например, запустите IIS Express вне Visual Studio.