Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не получается запустить скрипт под мод_перл, Internal Server Error 
V
    Опции темы
SATYR
Дата 14.4.2006, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 24.5.2005

Репутация: нет
Всего: нет



Народ, подскажите как быть. Не получается запустить скрипт под мод_перл. Ситуация следующая.

Поставил Апач , установил мод_перл, в хттп.конф прописал

Alias /perl/ "F:/TEMP/MyProjects/WWW/script/"

<Directory "F:/TEMP/MyProjects/WWW/script/" >
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
Allow from all
PerlSendHeader on
</Directory>

Запускаю Апач , пытаюсь зайти в папку http://localhost/script/ либо запустить http://localhost/script/WWWMashineInterfese.pl. Апач ругается "Internal Server Error"
Глянул в логах , присутствует
[error] [client 10.5.0.16] failed to resolve handler `Apache::Registry': Can't locate Apache/Registry.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib . C:/Program Files/Apache Group/Apache2).

на PerlHandler Apache::PerlRun реакция аналогичная.



PM MAIL   Вверх
BlackLFL
Дата 14.4.2006, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 3
Всего: 12



Код

<IfModule mod_perl.c>
        Alias /perl/ /my/scripts/directory/

        <Directory /my/scripts/directory>
                SetHandler perl-script
                PerlHandler Apache::Registry
                Options ExecCGI
                Allow from all
                PerlSendHeader on
        </Directory>
</IfModule>

?
PM WWW   Вверх
SATYR
Дата 14.4.2006, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 24.5.2005

Репутация: нет
Всего: нет



Указал
<IfModule mod_perl.c>
</IfModule>
больше различий не увидел. Результат тот же smile
Добавлено @ 20:15
Вообще подскажите что значит эта ошибка? И что в контексте этоу фразы значит
Цитата(SATYR @ 14.4.2006, 18:52 Найти цитируемый пост)
failed to resolve handler `Apache::Registry': Can't locate Apache/Registry.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib . C:/Program Files/Apache Group/Apache2).

@INC ? smile
PM MAIL   Вверх
nitr
Дата 14.4.2006, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 12
Всего: 84



Установи модули smile
Читать здесь

Возникает если модули не обнаружены в "стандартных" (ещё называют - включаемых) путях smile О них (путях) можно узнать из глобального массива @INC ;)

Это сообщение отредактировал(а) nitr - 15.4.2006, 22:58


--------------------
PM   Вверх
BlackLFL
Дата 15.4.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 3
Всего: 12



nitr, во я вчера заработался, прочитал начало ошибки и все smile конечно nitr прав, Вам нужно установить модуль
PM WWW   Вверх
SATYR
Дата 16.4.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 24.5.2005

Репутация: нет
Всего: нет



Запутался о каком модуле говорите.   smile   О мод_перл или об Apache/Registry.pm?  Если о первом то он установлен, если о  Apache/Registry.pm, то пожалуста подскажите откуда его брать, и разве его нужно ставить отдельно, разве по логике вещей он не должен содержаться в установочном архиве для мод_перла? smile   

Мод_перл ставил локально через ппм для установки все качал с http://theoryx5.uwinnipeg.ca. По своему разумению пришлось подправить путь в install_perl , но сам install_perl просмитрел не досконально, мог чегонить недоподправить  smile  .
Из выше сказанного есть подозрение  что вместо "...\Apache\"   Registry.pm мог быть установлен по одному из следующих путей:
C:\Perl\site\lib\ModPerl\Registry.pm,
C:\Perl\site\lib\Win32\Registry.pm,
C:\Perl\site\lib\Win32API\Registry.pm
Подскажите прав я в этом smile 
Если прав то существует ли возможность исправить искомое в стандартных путях Apache\Registry.pm  на скажем ModPerl\Registry.pm? 
PM MAIL   Вверх
SATYR
Дата 16.4.2006, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 24.5.2005

Репутация: нет
Всего: нет



Методом переустановки проверил.  smile  При установке мод_перл некий Registry.pm устанавливается в C:\Perl\site\lib\ModPerl\ может это тот модуль который нужен? 
PM MAIL   Вверх
SATYR
Дата 16.4.2006, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 24.5.2005

Репутация: нет
Всего: нет



Может быть мои действия в корне не верны, но попытался написать по аналогии с Apache::Registry в httpd.conf следующее 

Alias /perl/  "F:/TEMP/MyProjects/WWW/script/"  
<IfModule mod_perl.c>
  <Directory /script >
          SetHandler perl-script
          PerlHandler ModPerl::Registry
          Options All
          Allow from all
          PerlSendHeader on       
  </Directory> 
</IfModule> 

на что был обруган при попытке зайти в папку. The page cannot be found
 [error] [client 10.5.0.16] Attempt to serve directory: F:/TEMP/MyProjects/WWW/WWWMashine/script/ 

Зарание извиняюсь, т.к. ниже вопрос больше связан с неточным пониманием применения директив конфигурирования сервера, чем с данной темой, но не спросить не могу т.к. одно с другим тесно связано.

Уважаемые знатоки, по ходу дела возник вопрос по поводу правильного правильного включения режима CGI.  В литературе прочитал что для включения этого режима необходимо задать явное выполнение CGI содержимого при помощи Options +ExecCGI  до того ка отработают SetHandler, AddHandler и ScriptAlias, и что без этого Апач даже не попробует выполнить файл по умолчанию не зависимо от MIME типа и каталога размещения. Ниже в этой же литературе равно как и везде приводится пример  smile  использования мод_перл для обработки CGI  программ содержания похожего на приведенное выше. Намой взгляд одно другому противоречит. Если кто знает большая просьба обяснить почему так, и принципиально ли это smile

Добавлено @ 14:17 
литература "Скотт Хокинс Администрирование Web-сервера Apache и руководство по электронной коммерции.pdf" 
PM MAIL   Вверх
SATYR
Дата 19.4.2006, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 24.5.2005

Репутация: нет
Всего: нет



Решил проблему smile . Все дело в моей невнимательности smile   Забыл добавить PerlModule ModPerl::Registry. Вот и всё smile .  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0480 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.