我最近使用Wix Tool Set为Web应用程序(是的,带安装程序的Web应用程序)开发了一个安装程序。
该向导指导用户获取站点安装所需的所有基本信息,如下所示:
在安装结束时使用自定义操作我使用the documentation动态配置IIS处理CGI,将FastCGI配置为托管PHP,Python,应用程序。有很多步骤和开发来实现这个结果,但问题在于:
我安装了应用程序,一切正常,但是,如果我卸载或安装另一个实例或其他WebApplication,IIS配置的处理程序就像全局一样,并始终指向第一个安装的。 (卸载应用程序时出现问题) 位于 C:\ Windows \ System32 \ inetsrv \ config 中的 applicationHost.config 是IIS的配置,具有" config"像全球一样。
<handlers accessPolicy="Read, Script">
<add name="PHP-FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\CIM_dev\bin\php-v5.6\php-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 ?我一直在尝试所有的东西而没有成功。
答案 0 :(得分:4)
因此,如果我理解正确,您希望将php处理程序从服务器/网站级别移动到单个应用程序。为什么不在php应用程序文件夹中添加web.config文件并在那里移动特定于应用程序的处理程序。
%windir%\ system32 \ inetsrv \ appcmd.exe解锁配置“SiteName / app1” -section:system.webServer /处理
<?xml version="1.0"?>
<configuration>
<system.webServer>
<handlers>
<add name="PHPviaFastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Users\axputhe\Documents\PHP\php-cgi.exe" resourceType="Unspecified" />
</handlers>
</system.webServer>
</configuration>