Я запускаю веб-сервер Apache в Windows, чтобы работать с некоторыми сценариями Perl CGI. в процессе производства эти сценарии выполняются на linux box, а в репозитории исходного кода у них у всех есть шебанги вроде: #!/usr/bin/perl
, но на моей машине с windows шебанги будут #!c:\perl\bin\perl.exe
, поэтому у меня конфликт с базой исходного кода.
введите директиву Apache ScriptInterpreterSource .
Я пытался заставить его работать, основываясь на том, что я могу гуглить. но пока не повезло. у меня есть:
добавил эти вещи в соответствующую директиву
Разрешить переопределение Нет
Опции Индексы FollowSymLinks ExecCGI
Заказать разрешить, отказать
Разрешить от всех
ScriptInterpreterSource Registry-Strict
добавлено:
Cgi-скрипт AddHandler .cgi
отредактировал мой реестр и добавил новую строку в
HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command=C:\Perl\bin\perl.exe
Теперь я знаю, что CGI работают на этом сервере до тех пор, пока у них есть правильный шебанг.
, но когда я пытаюсь получить доступ к CGI без шебанга, выдается лог журнала Apache:
Не найден глагол Exec CGI для файлов
введите ".cgi"
Будем благодарны за любые мысли, идеи или даже догадки.
спасибо.