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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сессии на Перл 
:(
    Опции темы
Budda
  Дата 27.9.2004, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот как я инициализирую сессии:

Код
#!E:/Perl/bin/perl -w
use CGI::Session;
use CGI qw/:standard/;
my $cgi = new CGI;
my $session = new CGI::Session("driver:File", undef, {Directory=>'/tmp'});
print $cgi->header(-cookie=>$cookie);
$session->param('f_name', 'Sherzod');
my $f_name = $session->param('f_name');
$session->flush();
print '<BR>Effective CGISESSID='.$session->id();


Первый код работает кроме строчки: $session->flush(); -запись данных о сессии на винт не происходит. При этом в логи ложится такая инфа:
Цитата

Цитата
[Mon Sep 27 10:18:49 2004] [error] [client 127.0.0.1] Can't locate auto/CGI/Session/autosplit.ix in @INC (@INC contains: E:/Perl/lib E:/Perl/site/lib .) at E:/Perl/lib/AutoLoader.pm line 160.
[Mon Sep 27 10:18:49 2004] [error] [client 127.0.0.1]  at CGI/Session.pm line 9


А вот как я пытаюсь воссоздать сессию в другом скрипте:

Код
#!E:/Perl/bin/perl -w
use CGI qw/:standard/;
use CGI::Cookie;
use CGI::Session;
print '<H4>Test Sessoins</H4>';
my $CGISESSID = $cookies{CGISESSID}->value;
print 'CGISESSID='.$CGISESSID;
my $session = new CGI::Session("driver:File", $CGISESSID, {Directory=>'/tmp'});
print '<BR>Effective CGISESSID='.$session->id();


Как следствие глюка в первом скрипте, этот (второй) скрипт не делает то, чего от него требуется. А именно: он не создаёт новую сессию. При этом в логи ложит такую фигню:
Цитата
Цитата
[Mon Sep 27 10:20:16 2004] [error] [client 127.0.0.1] Can't locate auto/CGI/Session/autosplit.ix in @INC (@INC contains: E:/Perl/lib E:/Perl/site/lib .) at E:/Perl/lib/AutoLoader.pm line 160.

[Mon Sep 27 10:20:16 2004] [error] [client 127.0.0.1]  at CGI/Session.pm line 9

[Mon Sep 27 10:20:16 2004] [error] [client 127.0.0.1] Can't locate auto/CGI/Session/File/expire.al in @INC (@INC contains: E:/Perl/lib E:/Perl/site/lib .) at CGI/Session.pm line 258


Помогите, плиз, решить проблему.
PM WWW   Вверх
korob2001
Дата 27.9.2004, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Судя по сообщениям из лога, у тебя установлен не полностью или не правильно модуль CGI::Session, некоторых файлов просто не хватает, точнее их нет в каталогах где Perl ищет свои модули.

Попробуй найти с помощью поисковика Windows следующие файлы:
autosplit.ix
expire.al
autosplit.ix
Если эти файлы будут найдены, то в начале каждого скрипта добавь такую строку:

use lib qw( путь_к_каталогу_с наденными_файлами );

Хотя на твоё месте я бы воспользовался PPM для переустановки модуля CGI::Session. У меня он установился без проблем.

Удачи.



--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Budda
Дата 27.9.2004, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



korob2001, спасибо, за хэлп.
Я тоже думаю, что у меня нелады с CGI::Session. Но я и ставил его при помощи PPM! И тоже установился без проблем.

Файлов autosplit.ix - у меня штук 20! Добавить путь к каждому из ниХ?
А expire.al - нет ни одного...

Что делать?

Запусти, плиз, аську, если можешь.


PM WWW   Вверх
Budda
Дата 28.9.2004, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помог Korob:
Помогла дополнительная установка подмодуля CGI::Session.

В ppm нужно было выполнить search CGI::Session.

В результате получил спиосок из 10-ти модулей. Помогла установка первого из них:
install 1

Хотя рекомендуют ставить все 10


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


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

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


 




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


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

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