Forum Webscript.Ru
Общие => Веб Сервера => Тема начата: kdv от 25 Апреля 2002, 17:09:14
-
Что-то никак не могу разобраться.
Ставлю Apache на Win2000.
Не могу настроить, чтоб запукались скрипты с расширением .pl
Скрипты с расширеним .cgi - запускаются.
SSI - выполняются - и все остальное вроде впорядке.
Даже могу настроить, чтоб с расширением допустим .ddd запускались, а вот файлы .pl хотят загружаться, а не выполняться.
Установлен Perl и расширение pl зарегистрированно на него.
Вроде сущетвует директива
ScriptInterpreterSource registry
но в файле по умолчанию для win2000 ее даже закомментированной не оказалось и похоже она не заработала.
Я вообще-то хотел бы чтоб скринты выполнялись не по указанию местоположения скрипта
#!c:/Perl/bin/Perl.exe
а по зарегистрированным расширениям.
Что можете посоветовать.
-
В httpd.conf прописать:
AddHandler cgi-script .cgi .pl
-
В httpd.conf прописать:
AddHandler cgi-script .cgi .pl
У меня есть такие строки
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
да и так пробовал:
AddHandler cgi-script .cgi .pl
Могу и так написать - будут файлы с расширением .ddd исполняться
AddHandler cgi-script .cgi .pl .ddd
а вот имнно .pl не хочет. Вероятно как-то связанно с регистрацией этого типа в реестре. Наверно можно убрать эту регистрацию, но я как раз хочу чтоб Apache искал чем запустить скрипт не по первой строке в файле, а в соответсвии с реестром (чтоб без проблем перекидыват скрипты с UNIX на Windows).
-
kdv
А причем тут NIX?
а в соответсвии с реестром
С каким виндовым? Тогда не вполне понятна фраза в скобках.
Потом .сgi тоже без проблем работает на юниксе
-
А причем тут NIX?
Цитата:
а в соответсвии с реестром
С каким виндовым? Тогда не вполне понятна фраза в скобках.
Потом .сgi тоже без проблем работает на юниксе
Любопытно, но что-то мы друг друга не понимаем.
Возможно я что-то не то говорю - поправьте.
Чтоб указать какая программа грузит скрипт в Windows я использую реестр, для запуска сервером Apache я могу использовать реестр, а могу и первую строку файла:
#!c:/Perl/bin/Perl.exe
В UNIX эта строка должна быть другой, я не ошибся нигде?
Пока вопрос остался, если расширение .pl зарегистрованно, то как заставить Apache передавать файл для выполнения или в чем-то другом проблема.
-
А такое у тебя прописано:
Options ExecCGI
ScriptAlias "/__bin_dir__/" "f:/usr/bin/"
Action application/x-perl "/__bin_dir__/perl.exe"
-
Извините, что морочал Вам голову, но вдруг заработал, а я ничего не менял, только сам скрипт пытался редактировать.
А дошло - это все придурочное кеширование в IE.
А такое у тебя прописано:
Options ExecCGI
ScriptAlias "/__bin_dir__/" "f:/usr/bin/"
Action application/x-perl "/__bin_dir__/perl.exe"
Если б что-то из этого было неправильно прописано, то ведь и .cgi бы не запускалось, а с ним все в порядке.
Между прочим этой строки нет:
Action application/x-perl "/__bin_dir__/perl.exe"
Но работает.
Или она как-то поможет, так как вопрос остался, как заставить запускать по записи ассоциаций в реестре, а не по
#!C:\\......
В Windwos98 у меня это чудненько работало, но в старом Apache.
P.S. А /__bin_dir__/ - это Вы образно или можно как-то переменную ввести.
-
/__bin_dir__/
Это псевдоним для директории.
Просто, чтобы по сто раз не писать длинный абсолютный путь достаточно один раз задать псевдоним.
-
Убери регистрацию .pl из реестра.
-
Не подскажите как псевдоним вводится?
Кстати этот IE при каждом уходе возврате к скрипту - снова предлагает его грузить - пошел чистить кеш.
Ой, что-то он и после чистки кеша предлагает его сохранить. Откуда он его берет? Наверно надо отложить на некоторое время.
-
Поищи в HKEY_CLASSES_ROOT/.pl