![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| vminko |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.9.2007 Репутация: нет Всего: нет |
Задача: есть демон под win32, нужно в него передать событие (просто индикация, 1 бит т.е.) из CGI скрипта.
Поначалу пытался решить через сигналы, потом понял что под win32 они почти не работают. Нашёл модуль Win32::Event - то что надо. Реализовал так: в демоне создаётся объект Event, в cgi скрипте он открывается и выстанавливается, демон ловит событие и сбрасывает его. Всё работает, никаких проблем. Поставил на клиентскую машину - обнаружилась проблема: cgi скрипт не может найти объект Event, созданный демоном. Для тестирования написал два скрипта: демон:
Если запускать скрипт как и демона из cmd.exe - то он находит объект. Отсюда сразу подозрение на неверный конфиг Apache. Заменил полностью директорию Apache на ту которая на локальной машине лежит, только в конфиге поменял ip - не помогает. Версии Perl, Apache одинаковые, отличались только дистрибутивы WinXP. Переставил на ту которая локально стоит - не помогает. Если запускать и демона и cgi под Apache (чисто для эксперимента) - то событие находится. Пришёл к выводу что почему-то Apache блокирует доступ из CGI скриптов к событиям, созданным внешне. Реализовал тоже самое на семафорах - аналогичная картина, не работает. Пришёл к выводу, что это общая проблема для IPC объектов. Сверил службы запущенные локально и на клиентской машине - ничего подозрительного не нашёл. Сверил переменные окружения которые получают cgi скрипты - отличий не нашёл. Perl, Apache никаких warning не пишут в логи. Идеи кончались Клиентскую машину сменить не могу, поэтому необходимо понять отличия в средах, почему работает локально. Спасибо Это сообщение отредактировал(а) vminko - 9.9.2007, 00:24 |
||||
|
|||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
vminko, вполне рабочие скрипты... и у меня работает (WinXP, Apache2, Perl 5.8.8).
Тогда точно не в скриптах, если хотите, киньте сюда ваш конфиг Apache, а если они "дефолтовые", то и не в нем проблема. Какая ваша конфигурация системы? |
|||
|
||||
| vminko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.9.2007 Репутация: нет Всего: нет |
Конфиг приложил, он почти не изменялся.
Конфигурация системы: Windows XP SP2 Perl 5.8.6 811build Apache 2.2.4 Установлена Visual Studio 2003 .NET, если это как-то может повлиять. Присоединённый файл ( Кол-во скачиваний: 3 )
httpd.conf 18,11 Kb |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
vminko, что-то интересное
У вас практически все настройки для запуска cgi-скриптов (perl) закомментированы Раскомментируйте AddHandler cgi-script .cgi .pl |
|||
|
||||
| vminko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.9.2007 Репутация: нет Всего: нет |
Пробовал, не помогает. Также пробовал раскомментировать это:
ScriptInterpreterSource registry |
|||
|
||||
| nitr |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
vminko, я не понимаю как у вас работают скрипты, и как вы их запускали с таким конфигом, но вот что мне пришлось сделать:
Изменил
Apache не воспринимает
так что закомментируйте
В общем надо вынести за этот блок строку
А то она не воспринимается Apache'ем Ну и перезагрузил Apache, чтобы все изменения вступили в силу ;) После этого запустил daemon.pl (демон) и в браузере http://localhost/cgi-bin/test_event.cgi вывод:
Это сообщение отредактировал(а) nitr - 9.9.2007, 13:43 |
||||||||||
|
|||||||||||
| vminko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.9.2007 Репутация: нет Всего: нет |
Всё исправил согласно вашему описанию, поведение скриптов не изменилось.
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |