Добавить обработчик PHP на веб-сайт или даже в папку только через AppCmd

Я пытаюсь автоматически развернуть веб-сервер IIS (в настоящее время 8.5, мне нужно будет все до 7,5), используя AppCmd.exe

Я использую PHP FastCGI для обработки запросов. Я настроил пул 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']

Что говорит мне, что конфигурация не может быть выполнена на этом уровне.

Однако, когда я использую пользовательский интерфейс для добавления обработчика на сайт, я могу сделать это без проблем. Таким образом, я думаю, что моя команда все еще неверна.

Что я здесь не так делаю?

Приветствия и спасибо много, Worp

1 ответ

Решение

Попробуй это:

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, но применяется только к одному сайту.

Другие вопросы по тегам