Я только что столкнулся с этим.Многие ссылки, на которые вы ссылаетесь, мои.В то время, когда я писал эти руководства, FastCGI для IIS был совершенно новым, а версия Vista еще не вышла.К сожалению, из-за работы я попал в другие проекты и не смог продолжить работу с руководствами после выхода версии Vista (IIS 7).
Я только пришел в проектэто снова нужно, и в поисках решения сам наткнулся на ваш пост.Я провел некоторое тестирование и сумел найти решение.
FastCGI работает в Windows совершенно иначе, чем в Linux.Это не только с версией IIS, но и с версией Apache.
В Linux вы можете установить FastCGI в качестве обработчика, и шебанга для скрипта будет достаточно, чтобы указать на Perl и сделать правильный(если вы закодировали свой скрипт для FCGI или CGI :: Fast).
В Windows вам нужно указать скрипт FastCGI, который вы хотите вызывать с помощью обработчика:
IIS 7 :
Диспетчер IIS -> Сайты -> Веб-сайт -> Сопоставления обработчиков -> Добавить сопоставление модулей ...
Путь запроса: test_script.fcgi
Модуль: FastCgiModule
Исполняемый файл: c: \ perl \ bin \ perl.exe | c: \ inetpub \ wwwroot \ test_script.fcgi
Имя: Пример тестирования FCGI
Нажмите OK , затем выберите, чтобы добавить приложение FastCGI,Если вы проверите настройки FastCGI для сервера, вам потребуется эта часть после |устанавливается в качестве аргументов исполняемого файла (Perl).
Перезагрузите сервер (а не только веб-сайт).Это должно работать.К сожалению, если вы хотите использовать эту технику, вам нужно добавить сопоставление для каждого сценария.Модуль FCGI :: IIS пытался обойти эту проблему, но он имеет много предостережений и еще не закончен.
Apache Я проверил это на WAMP, скопировав файл mod_fcgid.so в соответствующий каталог и обновив httpd.conf:
<IfModule fcgid_module>
FcgidInitialEnv PATH "C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/Perl/bin"
FcgidInitialEnv SystemRoot "C:/Windows"
FcgidInitialEnv SystemDrive "C:"
FcgidInitialEnv TEMP "C:/WINDOWS/Temp"
FcgidInitialEnv TMP "C:/WINDOWS/Temp"
FcgidInitialEnv windir "C:/WINDOWS"
FcgidIOTimeout 64
FcgidConnectTimeout 16
FcgidMaxRequestsPerProcess 1000
FcgidMaxProcesses 1
FcgidMaxRequestLen 8131072
<Files ~ "\test_script.fcgi$">
Options Indexes FollowSymLinks ExecCGI
AddHandler fcgid-script .fcgi
FcgidWrapper "C:/Perl/bin/perl.exe c:/wamp/www/test_script.fcgi" .fcgi
</Files>
</IfModule>
Надеюсь, это поможет всем, кто сталкивается с теми же проблемами, что и вы.
Лайл