[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-modperl
Subject:    Re: Re[4]: Problem with PerlTransHandler
From:       "Raf" <rafiq () joshua ! dreamthought ! com>
Date:       2003-06-27 15:35:16
[Download RAW message or body]

Sergey V. Stashinskas said:
> Problem is not in connection with database.
> When I try to connect then $2 regexp variable becomes undefined and
> script can not redirect anywhere. ($r->uri($2)) But when script is not
> connected with database all works perfectly and this variable has a real
> defined value. I can not understand this ...

What are you actually getting in your logs?  Are you sure that it's even
getting to $2?  My thought is this:

*  if you don't get a $dbh back, then under strict you should get a
cock-up reporting that it can't run the method disconnect on an undefined
reference.

Can't see why this would happen.  How you tried to dump the uri with a
STDERR?  Noticed that you're from Russia, so perhaps it's some kind of
character encoding/local problem, since you're matching against latin
character classes?  Can weird character creep into your session string?

Just thoughts.  Final thought is running it through Apache::DB if you
fancy building it.  Just a thought.

Cheers,

R.








> Original source:
> package Apache::StripSession;
> use strict;
> use Apache;
> use Apache::Constants qw(:common);
>
> sub handler {
>     my $r = shift;
>
>     my $dbh = DBI->connect('dbi:mysql:db', 'user', 'pswd');
>     $dbh->disconnect;
>     return DECLINED unless $r->uri =~
> /^\/session\/([a-zA-Z0-9]{32})(.*)/;
>
>     $r->subprocess_env(SESSION => $1);
>     $r->uri($2);
>
>     return DECLINED;
> }
>
> 1;
>
> -----Original Message-----
> From: "Raf" <rafiq@joshua.dreamthought.com>
> To: <sergei_stashinsk@mail.ru>
> Date: Fri, 27 Jun 2003 15:09:13 -0000 (GMT)
> Subject: Re: Re[2]: Problem with PerlTransHandler
>
>>
>> Sergey V. Stashinskas said:
>> > If these lines are commented out then script is working ok.
>> >
>> > -----Original Message-----
>> > From: <csebe@fx.ro>
>> > To: "Sergey V. Stashinskas  "
>> > <sergei_stashinsk@mail.ru>,<modperl@perl.apache.org> Date: Fri, 27
>> Jun 2003 16:39:12 +0300
>> > Subject: RE: Problem with PerlTransHandler
>> >
>> >>
>> >> Have you tried to comment out the 2 DBI lines like this:
>> >>
>> >> #my $dbh = DBI->connect('dbi:mysql:db', 'user', 'pswd');
>> >> #$dbh->disconnect;
>>
>> Can't find your original post, however try doing something like:
>>
>> $dbh->disconnect if ref($dbh);
>>
>> or:
>>
>> if (ref $dbh) {
>>     $dbh->disconnect;
>> else {
>>     ## CHECK LOGS for this
>>     print STDERR "\n Failed to connect \n";
>> };
>>
>> Cheers,
>>
>> Raf
>>
>>
>>
>>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic