You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Darragh Gammell <db...@gmail.com> on 2007/12/07 00:24:20 UTC

Can't locate object method "session" via package "HTML::Mason::Request::ApacheHandler"

Hi

My apologies if this is the second instance this query. I sent the same mail
3 days ago but have not seen it appear on the mailing list....so here goes
again.

Ive recently tried moving a website from an old server which is having
hardware issues to a recently purchased server.

Old Server ran:
Linux 2.6.11-1-686-smp #1 SMP Mon Jun 20 20:18:45 MDT 2005 i686 GNU/Linux
Mason 1.21
mod_perl
and apache 1.3


I'm now trying to get the same website running on:

Ubuntu gutsy Linux 2.6.22-14-server
Mason 1.37
Apache2
mod_perl2

Highlights for the apache2 hhtpd.conf :

PerlModule HTML::Mason
PerlModule HTML::Mason::ApacheHandler
PerlModule Apache2::Request
PerlModule Apache::DBI

and the vhost:

PerlRequire /etc/apache2/handler.pl

        <Directory "/home/mac/public_html">
                #Options -Indexes
                #HTML::Mason handles any .html files
                <FilesMatch "\.html">
                        SetHandler perl-script
                        PerlHandler HTML::Mason::ApacheHandler
                </FilesMatch>
                # Deny .comp files from being accessed directly
        </Directory>

        <FilesMatch "\.mc|autohandler|dhandler">
                SetHandler perl-script
                PerlInitHandler Apache2::Const::NOT_FOUND
        </FilesMatch>




Im getting this error in the browser however:

*error:*  Can't locate object method "session" via package
"HTML::Mason::Request::ApacheHandler" at /home/mac/public_html/autohandler
line 402.
 *context:*   *...*
 *398:*  % }  *399:*
 *400:*  <%filter>  *401:*
 *402:*  if ($m->session->{textonly} eq "on") {  *403:*  s/<img src=.+?>//g;
*404:*  unless ($m->session->{inside_file_management} eq "yes") {  *405:*
s/\<script.+\/SCRIPT>//g;  *406:*  s/\<script.+\/script>//g;  *...*
   *code stack:*  /home/mc2/public_html/autohandler:402

Can't locate object method "session" via package
"HTML::Mason::Request::ApacheHandler" at
/home/mac/public_html/autohandler line 402.





Trace begun at /usr/local/share/perl/5.8.8/HTML/Mason/Exceptions.pm line 129
HTML::Mason::Exceptions::rethrow_exception('Can\'t locate object
method "session" via package "HTML::Mason::Request::ApacheHandler" at
/home/mac/public_html/autohandler line 402.^J') called at
/home/mac/public_html/autohandler line 402



HTML::Mason::Commands::__ANON__('<!-- AUTOHANDLER START NOW-->')
called at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 1277
HTML::Mason::Request::comp(undef, undef, undef) called at
/usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 466



eval {...} at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 466
eval {...} at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 418
HTML::Mason::Request::exec('HTML::Mason::Request::ApacheHandler=HASH(0x39f6200)')
called at /usr/local/share/perl/5.8.8/HTML/Mason/ApacheHandler.pm line
168



HTML::Mason::Request::ApacheHandler::exec('HTML::Mason::Request::ApacheHandler=HASH(0x39f6200)')
called at /usr/local/share/perl/5.8.8/HTML/Mason/ApacheHandler.pm line
826
HTML::Mason::ApacheHandler::handle_request('HTML::Mason::ApacheHandler=HASH(0x341fbf0)',
'Apache2::RequestRec=SCALAR(0x25b42e0)') called at (eval 32) line 8



HTML::Mason::ApacheHandler::handler('HTML::Mason::ApacheHandler',
'Apache2::RequestRec=SCALAR(0x25b42e0)') called at -e line 0


eval {...} at -e line 0



Any help/indications regarding whats going on here would be greatly
appreciated.
Just reply with what info is better to give too if this isnt enough.

Thanks in advance

Darragh


For reference heres whats installed along with the OS:

apt-get update
apt-get upgrade



apt-get install build_essential
apt-get install ssh
apt-get install apache2
apt-get install postgresql-8.2
apt-get install apt-show-versions
apt-get install libapache2-mod-perl2-dev
apt-get install libhtml-mason-perl



apt-get install apache2-prefork-dev
apt-get install apache2-src
apt-get install sendmail
apt-get install libapache2-mod-apreq2
apt-get install libapache2-request-perl (and use 'a2enmod apreq' to
load the module into Apache2.)





HTML::Mason (HTML-Mason-1.37)
Data::Dumper(Data-Dumper-2.121)
DBI(DBI-1.601)
DBD(DBD-Pg-1.49)
CGI(CGI.pm-3.31)
Date::Parse(TimeDate-1.16)
Date::Calc(Date-Calc-5.4)
mod_perl2 (mod_perl-

2.0.3
) need to cd /usr/lib;ln -s /usr/lib/libperl.so.5.8 libperl.so
ExtUtils::XSBuilder(ExtUtils-XSBuilder-0.28)
version(version-0.74)
Parse::RecDescent(Parse-RecDescent-v1.95.1)
Apache::Cookie (libapreq2-2.08

)

Apache::DBI(Apache-DBI-1.06)
Sub::Uplevel(Sub-Uplevel-0.18)
Test::Simple(Test-Simple-0.74)
Test::Tester(Test-Tester-0.106)
Test::NoWarnings(Test-NoWarnings-0.084)
Test::Exception(Test-Exception-0.25

)
Test::Deep(
Test-Deep-0.099)
Apache::Session(Apache-Session-1.81)
Apache::Session::Wrapper(Apache-Session-Wrapper-0.33)
MasonX::Request::WithApacheSession(MasonX-Request-WithApacheSession-0.30)

Text::Reform(

Text-Reform-v1.12.2
)
Text::Autoformat(Text-Autoformat-v1.14.0)
MIME::Base64(MIME-Base64-3.07)
Pod::Escapes(Pod-Escapes-1.04)
Pod::Simple(Pod-Simple-3.05)
Test::Pod(Test-Pod-1.26)

MIME::Types(MIME-Types-1.22

)
Mail::Address(
MailTools-2.02)
Email::Date::Format(Email-Date-Format-1.000)
Email::Abstract(Email-Abstract-2.134)
Time::Piece(Time-Piece-1.12)
Email::Date(Email-Date-1.103
)
MIME::Lite(MIME-Lite-3.020

)

Re: Can't locate object method "session" via package "HTML::Mason::Request::ApacheHandler"

Posted by Fred Moyer <fr...@redhotpenguin.com>.
Darragh Gammell wrote:
> Hi
> 
> My apologies if this is the second instance this query. I sent the same 
> mail 3 days ago but have not seen it appear on the mailing list....so 
> here goes again.
> 
> Ive recently tried moving a website from an old server which is having 
> hardware issues to a recently purchased server.
> 
> Old Server ran:
> Linux 2.6.11-1-686-smp #1 SMP Mon Jun 20 20:18:45 MDT 2005 i686 GNU/Linux
> Mason 1.21
> mod_perl
> and apache 1.3
> 
> 
> I'm now trying to get the same website running on:
> 
> Ubuntu gutsy Linux 2.6.22-14-server
> Mason 1.37
> Apache2
> mod_perl2

You should also ask the mason list 
(http://www.masonhq.com/?MailingLists), I don't think there was a big 
api change from 1.21 to 1.37 like there was at 1.05, but my guess is 
that you need a session handling module that isn't installed.


> 
> Highlights for the apache2 hhtpd.conf :
> 
> PerlModule HTML::Mason
> PerlModule HTML::Mason::ApacheHandler
> PerlModule Apache2::Request
> PerlModule Apache::DBI
> 
> and the vhost:
> 
> PerlRequire /etc/apache2/handler.pl
> 
>         <Directory "/home/mac/public_html">
>                 #Options -Indexes
>                 #HTML::Mason handles any .html files
>                 <FilesMatch "\.html">
>                         SetHandler perl-script
>                         PerlHandler HTML::Mason::ApacheHandler
>                 </FilesMatch>
>                 # Deny .comp files from being accessed directly
>         </Directory>
> 
>         <FilesMatch "\.mc|autohandler|dhandler">
>                 SetHandler perl-script
>                 PerlInitHandler Apache2::Const::NOT_FOUND
>         </FilesMatch>
> 
> 
> 
> 
> Im getting this error in the browser however:
> 
> *error:*  	Can't locate object method "session" via package 
> "HTML::Mason::Request::ApacheHandler" at 
> /home/mac/public_html/autohandler line 402.
> *context:*  	
> *...*  	
> *398:*  	% }
> *399:*  	
> *400:*  	<%filter>
> *401:*  	
> *402:*  	if ($m->session->{textonly} eq "on") {
> *403:*  	s/<img src=.+?>//g;
> *404:*  	unless ($m->session->{inside_file_management} eq "yes") {
> *405:*  	s/\<script.+\/SCRIPT>//g;
> *406:*  	s/\<script.+\/script>//g;
> *...*  	
> 
> *code stack:*  	/home/mc2/public_html/autohandler:402
> 
> 
> 
> Can't locate object method "session" via package "HTML::Mason::Request::ApacheHandler" at /home/mac/public_html/autohandler line 402.
> 
> 
> 
> 
> 
> 
> Trace begun at /usr/local/share/perl/5.8.8/HTML/Mason/Exceptions.pm line 129
> HTML::Mason::Exceptions::rethrow_exception('Can\'t locate object method "session" via package "HTML::Mason::Request::ApacheHandler" at /home/mac/public_html/autohandler line 402.^J') called at /home/mac/public_html/autohandler line 402
> 
> 
> 
> 
> HTML::Mason::Commands::__ANON__('<!-- AUTOHANDLER START NOW-->') called at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 1277
> HTML::Mason::Request::comp(undef, undef, undef) called at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 466
> 
> 
> 
> 
> eval {...} at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 466
> eval {...} at /usr/local/share/perl/5.8.8/HTML/Mason/Request.pm line 418
> HTML::Mason::Request::exec('HTML::Mason::Request::ApacheHandler=HASH(0x39f6200)') called at /usr/local/share/perl/5.8.8/HTML/Mason/ApacheHandler.pm line 168
> 
> 
> 
> 
> HTML::Mason::Request::ApacheHandler::exec('HTML::Mason::Request::ApacheHandler=HASH(0x39f6200)') called at /usr/local/share/perl/5.8.8/HTML/Mason/ApacheHandler.pm line 826
> HTML::Mason::ApacheHandler::handle_request('HTML::Mason::ApacheHandler=HASH(0x341fbf0)', 'Apache2::RequestRec=SCALAR(0x25b42e0)') called at (eval 32) line 8
> 
> 
> 
> 
> HTML::Mason::ApacheHandler::handler('HTML::Mason::ApacheHandler', 'Apache2::RequestRec=SCALAR(0x25b42e0)') called at -e line 0
> 
> 
> eval {...} at -e line 0
> 
> 
> 
> Any help/indications regarding whats going on here would be greatly 
> appreciated.
> Just reply with what info is better to give too if this isnt enough.
> 
> Thanks in advance
> 
> Darragh
> 
> 
> For reference heres whats installed along with the OS:
> 
> apt-get update
> apt-get upgrade
> 
> 
> 
> 
> apt-get install build_essential
> apt-get install ssh
> apt-get install apache2
> apt-get install postgresql-8.2
> apt-get install apt-show-versions
> apt-get install libapache2-mod-perl2-dev
> apt-get install libhtml-mason-perl
> 
> 
> 
> 
> apt-get install apache2-prefork-dev
> apt-get install apache2-src
> apt-get install sendmail
> apt-get install libapache2-mod-apreq2
> apt-get install libapache2-request-perl (and use 'a2enmod apreq' to load the module into Apache2.)
> 
> 
> 
> 
> 
> 
> HTML::Mason (HTML-Mason-1.37)
> Data::Dumper(Data-Dumper-2.121)
> DBI(DBI-1.601)
> DBD(DBD-Pg-1.49)
> CGI(CGI.pm-3.31)
> Date::Parse(TimeDate-1.16)
> Date::Calc(Date-Calc-5.4)
> mod_perl2 (mod_perl-
> 
> 
> 2.0.3
> ) need to cd /usr/lib;ln -s /usr/lib/libperl.so.5.8 libperl.so
> ExtUtils::XSBuilder(ExtUtils-XSBuilder-0.28)
> version(version-0.74)
> Parse::RecDescent(Parse-RecDescent-v1.95.1)
> Apache::Cookie (libapreq2-2.08
> 
> 
> 
> )
> 
> Apache::DBI(Apache-DBI-1.06)
> Sub::Uplevel(Sub-Uplevel-0.18)
> Test::Simple(Test-Simple-0.74)
> Test::Tester(Test-Tester-0.106)
> Test::NoWarnings(Test-NoWarnings-0.084)
> Test::Exception(Test-Exception-0.25
> 
> 
> 
> )
> Test::Deep(
> Test-Deep-0.099)
> Apache::Session(Apache-Session-1.81)
> Apache::Session::Wrapper(Apache-Session-Wrapper-0.33)
> MasonX::Request::WithApacheSession(MasonX-Request-WithApacheSession-0.30)
> 
> 
> Text::Reform(
> 
> Text-Reform-v1.12.2
> )
> Text::Autoformat(Text-Autoformat-v1.14.0)
> MIME::Base64(MIME-Base64-3.07)
> Pod::Escapes(Pod-Escapes-1.04)
> Pod::Simple(Pod-Simple-3.05)
> Test::Pod(Test-Pod-1.26)
> 
> 
> MIME::Types(MIME-Types-1.22
> 
> )
> Mail::Address(
> MailTools-2.02)
> Email::Date::Format(Email-Date-Format-1.000)
> Email::Abstract(Email-Abstract-2.134)
> Time::Piece(Time-Piece-1.12)
> Email::Date(Email-Date-1.103
> 
> )
> MIME::Lite(MIME-Lite-3.020
> 
> )
>