IIS 和 FastCGI/注册解释器
外观
此页面主要是一个官方 Microsoft 文档的维基镜像。[1]
全局注册扩展
## php
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe"
## perl
cscript fcgiconfig.js -add -section:"Perl" -extension:pl -path:"C:\strawberry\perl\bin\perl.exe"
要注册特定于站点的扩展,只需添加 -site=<sitenum>
标志。(没有尖括号)
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe" –site:1
成功后,您应该看到
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
INI successfully written.
文档默认位于C:\WINDOWS\system32\inetsrv\fcgiext.ini
FastCGI 文档使用类型部分将 FastCGI 应用程序映射到 IIS 站点(虚拟主机)上,使用特定的 IIS ID。以及一个描述应用程序的部分
[Types]
;619896678 is my example IIS site id
*:619896678=Catalyst
[Catalyst]
ExePath=C:\strawberry\perl\bin\perl.exe
Arguments="D:\Inetpub\www\DMApp\script\dmapp_fastcgi.pl"
要将 FastCGI 添加到站点,请按照以下步骤操作:开始 → 管理工具 → Internet Information Services (IIS) 管理器 → 右键单击 网站 文件夹属性 → 主目录 → 配置 → 选择您安装的扩展 → 编辑 → 您应该看到C:\WINDOWS\system32\inetsrv\fcgiext.dll或类似的可执行文件字段中的内容。取消选中“验证文件存在”。
ScriptMap 已经存在
- 示例
C:\WINDOWS\system32\inetsrv\fcgiconfig.js(1223, 5) (null): ScriptMap already exi
sts, path=IIS://127.0.0.1/W3SVC, scriptmap=.pl,C:\Perl\bin\perl.exe "%s" %s,5,GE
T,HEAD,POST
- 原因:通常是旧的 Active State CGI 垃圾
- 解决方案:开始 → 管理工具 → Internet Information Services (IIS) 管理器 → 右键单击 网站 文件夹属性 → 主目录 → 配置 → 删除所有冲突的扩展,例如 .pl、.plex、.plx、.php、.rb 等 → 确定 / 确认
- ^ 基于 Microsoft 慷慨提供的示例的信息"使用 FastCGI 在 IIS 6.0 和 IIS 5.1 上托管 PHP 应用程序". IIS 和 FastCG. Microsoft. 2007-09-24. 检索于 2008-02-05.