in reply to missing $r porting to mod_perl2

You should get $r passed in if you're using ModPerl::Registry or writing a handler. You can also access it by calling Apache2::RequestUtil->request. There's a handy porting guide on the mod_perl site.

Replies are listed 'Best First'.
Re^2: missing $r porting to mod_perl2
by rayzit (Initiate) on Jan 14, 2008 at 15:38 UTC
    Thanks for your reply. I tried the Apache2::RequestUtil->request and it didnt work as expected. The old version didnt use Apache::Registry but Apache::PerlRun. But maybe it is a problem with the OS X Leopard, I dont know. It does not execute the scripts yet and doesnt deliver error messages in the error logs either. The browser offers me to download the file instead...

    Here a piece of httpd.conf
    ########################################################
    Alias /webnet/ "/Library/WebServer/Documents/WebNet/cgi/"
    PerlModule Apache2::compat
    PerlModule ModPerl::PerlRun
    PerlModule CGI::Session DBI DBD::PrimeBase Apache2::Request Apache2::Cookie Net::FTP Net::SMTP DirHandle MIME::Lite IO::All File::stat

    <Location /webnet>
    SetHandler perl-script
    PerlResponseHandler ModPerl::PerlRun
    PerlHandler Apache::PerlRun
    Options +ExecCGI
    </Location>
    ##########################################################

    I guess I'll better setup an apache2 on a linux box as I'm more used to that. But mod_perl and mod_perl2 do not coexist on the same box, do they? Or am i missing sth else? Help and ideas are highly appreciated...
      I tried the Apache2::RequestUtil->request and it didnt work as expected.
      It should work. What happened?
      The old version didnt use Apache::Registry but Apache::PerlRun.
      That doesn't matter.
      The browser offers me to download the file instead...
      That usually means you aren't sending a header.
      <Location /webnet> SetHandler perl-script PerlResponseHandler ModPerl::PerlRun PerlHandler Apache::PerlRun Options +ExecCGI </Location>
      Your PerlHandler setting should be removed. You may also want to PerlOptions +ParseHeaders
      But mod_perl and mod_perl2 do not coexist on the same box, do they?
      Sure they do. If you want to be especially careful, you can install a separate perl to use with mod_perl 2 so that none of the modules get installed in the main perl tree.