Назад | Перейти на главную страницу

Добавить обработчик 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 ', глагол ='',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 ', глагол ='',modules='FastCgiModule',scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']

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

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

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

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