![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Orthenner |
|
||||||
![]() Любитель ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 22.5.2004 Где: Мытищи Репутация: нет Всего: нет |
Добрый день.
Использую Апач версии 2.0.54 под Windows. Операционка - Windows Server 2003 EE. Для Cgi использую Active Perl 5.6.1 При попытке использовать подключение в скрипте вроде:
Апач выдает ошибку, в логах следующее:
При выполнении скрипта вручную, вроде:
Все проскакивает нормально. Не подскажите, в чем может быть проблема и как ее урегулировать. |
||||||
|
|||||||
| sharq |
|
||||||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
Orthenner я не знаю как ты устанавливал модуль, наверно, не до конца.
Впервые вижу такую сложную и установка модуля, наверно, она того стоит. Ты читал мою статью "Установка perl-модулей", если нет, то прочитай. Так вот, после этого модуля статью надо дополнять. Как ты, наверно, догадался модуль XML::LibXML модульно зависим от трех:
Без проблем ставится модуль XML::NamespaceSupport, он ни откого не зависит. Модуль XML::SAX зависит от модуля XML::LibXML и скрипта install_parser_details, который должен установить ParserDetails.ini файл:
В свою очередь (не сразу заметил), модуль XML::SAX устанавливает XML::SAX::PurePerl::Reader::URI, который зависит от модуля File::Temp. У меня, например, этого модуля не было. Так что его тоже надо установить. Наконец, модуль XML::LibXML::Common - самый важный, зависит от скрипта install_libxml2, который должен выкачать библиотеку libxml2:
Ты, конечно, можешь установить все это через ppm (добавив пару настроек, касающихся репозитариев). Но можешь (как я, например) скачать все: модули, библиотеку libxml2 и скрипт install_parser_details для установки ini файла и установить все это барохло локально. В общем, у меня все нормально стало и все рабыть! Если что, звони. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
||||||
|
|||||||
| Orthenner |
|
|||
![]() Любитель ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 22.5.2004 Где: Мытищи Репутация: нет Всего: нет |
Переустановил все модули. Сначала ручками, потом через PPM. Все равно не помогло. Вручную все все выполняется отлично, а как CGI не работает... Может это в настройках Апача?
|
|||
|
||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
Orthenner т.е. такой скрипт у тя не работает:
Только этот скрипт, нужно запускать через командную строку. Чтобы запустить через браузер, нужно кое-что добавить. Если работает, то это проблема с твоим cgi-скриптом (можешь привести его), если не работает, то криво поставил. ;) -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| Orthenner |
|
|||
![]() Любитель ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 22.5.2004 Где: Мытищи Репутация: нет Всего: нет |
В том то все и дело, что в командной строке у меня все работает, а вот через браузер нет....
Вот к примеру код, который у меня через командную строку работает, а при выполнении его браузером выдает ошибку 500
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
А ты уверен, что ошибка в этой части кода? Просто у меня эта часть чудесно отрабатывает, естественно кроме зоголовка ничего не выводит. Кстати, зачем ты подключаешь модуль CGI? Наверняка у этой программы есть продолжение и ошибка именно в нём.
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
Orthenner какая хоть ошибка в логах?
-------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| Orthenner |
|
||||
![]() Любитель ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 22.5.2004 Где: Мытищи Репутация: нет Всего: нет |
Я этот скрипт привел для примера... У меня не работает даже такой код:
Ошибка не в скрипте, через командную строку скрипт отрабатывается на ура, Апач выдает ошибку №500. В логах как я уже писал в своем посте выдается что-то вроде:
Черт... всю сеть уже облазил с этой проблемой, нашел только рекоммендации поместить файлик libxml2.dll в папку bin папки с апачем. Не помогло... |
||||
|
|||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
Orthenner значит криво поставил модуль!!!
Че за чушь - надо в папку bin perl!!! Ты можешь привести код своей проги dbupdate.pl, потому что у меня модуль стоит и нормально пашет. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| sharq |
|
||||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
Откуда взялся этот модуль, у меня такого нет. Так привиди логи апача при запуске скрипта check.cgi:
И давай код своего скрипта, если не секретно. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
||||
|
|||||
| Orthenner |
|
||||||||||||
![]() Любитель ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 22.5.2004 Где: Мытищи Репутация: нет Всего: нет |
Лог Апача на твой скрипт.
Теперь собственно мой скрипт: Состоит из нескольких файлов: dbupdate.pl:
interface.pl:
dbi-functions.pl
gettime.pl:
Формочка стандартная:
|
||||||||||||
|
|||||||||||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
Orthenner читай мой первый топик по установке модуля и статью здесь, ты криво поставил модули!
Только сначало удали криво установленные модули, а затем все по пунктам сделай. А твои скрипты я сейчас проверю. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| Orthenner |
|
|||
![]() Любитель ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 22.5.2004 Где: Мытищи Репутация: нет Всего: нет |
ок... сейчас переставлю... Меня смущает тот факт, что в командной строке все замечательно выполняется, а через браузер нет....
|
|||
|
||||
| sharq |
|
||||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
Orthenner да-а кодинг на перле оставляет желать лучшего...
Один вопрос: что такое return null? Ладно, мой тебе совет (когда модуль поставишь) используй прагмы warnings и strict и модульный подход к программированию. Не надо постоянно коннектится и разоединяться с БД при выполнение одного запроса : коннект в начале скрипта и дисконнект в конце! Используй всю мощь модуля CGI. Если открыл файл, то и закрой его. У тебя недопечатка в 24 строке dbupdate.pl - нехватает символа $. И как у тебя этот скрипт мог работать под консолью??? Тут даже perl -c dbupdate.pl - выдаст пару warnings. Кто так делает:
Если ты хочешь проверить переменную на пустоту, то делай так
Ладно, не обижайся просто помочь хочу. Я работу с БД не проверял, а так у тебя все работает. Кстати, пользуйся каким-нибудь perl-редактором, очень удобно + есть встроенный браузер, чекер и др. Orthenner убедись, что все вновь поставленные модули исправны, есть библиотека libxml2 в perl/bin и есть ini файл ParserDetails.ini в perl/site/lib/XML/SAX. Удачи. Это сообщение отредактировал(а) sharq - 15.9.2005, 09:52 -------------------- [color=gray]There's More Than One Way To Do It[/color] |
||||
|
|||||
| Guest |
|
|||
|
Unregistered |
Я с Перлом почти незнаком... Три-четыре дня учебники почитал и все... Так что качество кода оставляет желать лучшего
|
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |