在web.config IIS中配置PHP(或其他)CGI配置
我最近使用Wix Tool Set为Web应用程序开发了一个安装程序(是,带有安装程序的Web应用程序)。
该向导指导用户获取网站安装所需的所有基本信息,如下所示:
在安装结束时使用自定义操作,我使用文档动态地配置IIS以处理CGI,以将FastCGI配置为托管PHP,Python, 应用程序 。 实现这些结果有很多步骤和发展,但问题在于:
我安装了应用程序,一切正常,但是,如果我卸载或安装另一个实例或另一个WebApplication,由IIS配置的处理程序就像全局一样,始终指向第一个安装的程序。 (卸载应用程序时发生此问题)位于IIS配置的C: Windows System32 inetsrv config中的applicationHost.config具有类似于全局的“配置”。
<handlers accessPolicy="Read, Script">
<add name="PHP-FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:CIM_devbinphp-v5.6php-cgi.exe" resourceType="Either" />
<add name="CGI-exe_2" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
<add name="TRACEVerbHandler2" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" />
<add name="OPTIONSVerbHandler2" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" />
<add name="StaticFile2" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
</handlers>
我的问题是,是否有任何方法可以将每个网站的这种配置导入到web.config中 ? 我一直在尝试所有的东西没有成功。
所以如果我理解正确的话,你想把php处理程序从服务器/网站级别移动到单个应用程序。 为什么不在你的php应用程序文件夹中添加一个web.config文件,并在那里移动应用程序特定的处理程序。
%windir% system32 inetsrv appcmd.exe解锁配置“SiteName / app1”-section:system.webServer / handlers
<?xml version="1.0"?>
<configuration>
<system.webServer>
<handlers>
<add name="PHPviaFastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:UsersaxputheDocumentsPHPphp-cgi.exe" resourceType="Unspecified" />
</handlers>
</system.webServer>
</configuration>
注意“本地”这确认该设置来自您的本地web.config而不是来自applicationhost.config文件。
链接地址: http://www.djcxy.com/p/38357.html