Php

僅通過 AppCmd 將 PHP 處理程序添加到網站甚至文件夾

  • January 30, 2015

我正在嘗試使用 AppCmd.exe 自動部署一個 IIS 網路伺服器(目前是 8.5,也需要一直到 7.5)

我正在使用 PHP 的 FastCGI 來處理請求。我已經在伺服器級別配置了 FastCGI 池。

現在我需要設置一個新的處理程序來使用 FastCGI 模組處理 *.php 請求。

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,但僅適用於一個站點。

引用自:https://serverfault.com/questions/662976