Я пытаюсь автоматически развернуть веб-сервер IIS (в настоящее время 8.5, должен будет разработать его полностью вниз к 7,5 также), с помощью AppCmd.exe
Я использую FastCGI PHP для обрабатывания запросов. Я настроил пул FastCGI на уровне сервера.
Теперь я должен настроить новый обработчик для обработки запросов *.php с модулем FastCGI.
В документации PHP и различных документах Microsoft говорится, что эта команда AppCmd сделает это:
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /+ [name='PHP_via_FastCGI',path='.php',verb='',modules='FastCgiModule',scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']
источник: http://php.net/manual/de/install.windows.iis7.php
В то время как это действительно на самом деле работает, это помещает обработчик на уровне сервера также. Мне нужен обработчик, чтобы быть на уровне веб-сайта все же.
Я попробовал различные комбинации, наконец придумывающие следующую команду:
set config "Default Web Site/" -section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='.php',verb='',modules='FastCgiModule',scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']
Который говорит мне, что конфигурация не может быть реализована на этом уровне.
Однако, когда я использую UI для добавления обработчика к веб-сайту, я могу сделать это без проблем. Таким образом я думаю, что моя команда является все еще неправильной.
Что я делаю неправильно здесь?
Аплодисменты и большое спасибо, Worp
Попробуйте следующее:
appcmd.exe set config "Default Web Site" -section:system.webServer/handlers /+"[name='PHP_via_FastCGI',path='*.php',verb='',modules='FastCgiModule',scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']" /commit:apphost
Он по-прежнему изменяет ApplicationHost.config, а не web.config, но применяется только к одному сайту.