[Tokyo.pm] Re: mod_perl と cookie

Keiichi Okabe k.okabe @ ntt-bb.com
2002年 2月 26日 (火) 01:33:54 CST


岡部です.

----- Original Message ----- 
From: "Tatsuhiko Miyagawa" <miyagawa @ edge.co.jp>
Sent: Tuesday, February 26, 2002 2:57 PM
Subject: Re: [Tokyo.pm] mod_perl と cookie


> ここにある libapreq.ppd でインストールできないですかね?

できました.でも,まだはまってます.簡単なことだと思うんだけどなぁ〜
何を間違えてるんだろう.

> CGI::unescape() がない、っていってますね。CGI.pm のバージョンいくつで
> しょう? 自分の手もとのだと、unescape() は CGI::Util っていうモジュール
> で定義されているみたいです。

v5.6.1 build 631 のActivePerlで,CGIのバージョンは2.7.52です.CGI::Util
は入ってますが,よばれてないようです.Apache::Cookieを使って書き直して
みましたが,今度は,
C:/Perl/site/lib/Apache/Session/Generate/MD5.pm line 40.
でdieをくらってます.引数が文字列でなくて,Apache::Cookie=SCALAR(0xad34a8)
になっているのが原因ですが,この関数を誰が呼んでいるのやら.  (TT)

Loggingって重要なのね. (^^;

と,WEB+DBの最新号を薦める (^^)

 package Apache::Hello3;
 
 use strict;
 use Apache::Constants;
 use Apache::Cookie;
 use Apache::Session::File;
 our $base = 'C:/Program Files/Apache Group/Apache/lib/perl/Apache';
 
 sub handler{
   my $r = shift;
   my $host = $r->get_remote_host;
   my %cookies = Apache::Cookie->fetch;
   my $session_id = $cookies{'session_id'};
   my %session;
   tie %session,'Apache::Session::File',$session_id,
     {Directory => "$base/lock"};
   ++$session{access};
   my $state_cookie = Apache::Cookie->new($r,
     -name => 'session_id',
     -value => $session{_session_id}
   );
 
   $r->content_type('text/html');
   $state_cookie->bake;
   $r->send_http_header;
   $r->print(<<END);
 <HTML>
 <HEAD>
 <TITLE>Hello There</TITLE>
 </HEAD>
 <BODY>
 <H1>Hello $host</H1>
 Your access: $session{access}, $session_id,$session{_session_id}
 </BODY>
 </HTML>
 END
 
   return OK;
 }
 
 1;
---
k.okabe @ ntt-bb.com   岡部 恵一
成功出於衆者、先知也、先知者、必取於人、知敵之情者也
          孫子 用間篇 第十三




Tokyo-pm メーリングリストの案内