Ronni wrote:

I have spent many days now searching through the archives and although they are close to what I am seeing none are exactly like what I have.

I am using Apache 2 and installing ModPerl 2 on a Linux Mandrake 10.1 box. Apache 2 is a recent install and ModPerl 2 is something I would like to get working soon.

I can run perl from cgi-bin but would like to keep the perl stuff in it's own directory. I've set this up numerous times using the ModPerl online documentation as well as all the Apache/ModPerl info I can find.

I've added the following to the httpd.conf file:

PerlModule Apache2 ##This allows perl -V to look in /Apache2/ under the perl install Alias /perl/ /usr/local/apache2/perl/ ##The directory I would like to keep the perl scripts
 <Location /perl>
     SetHandler perl-script
     PerlResponseHandler ModPerl::Registry
     PerlOptions +ParseHeaders
     PerlOptions -GlobalRequest
     Options +ExecCGI
 </Location>

The log file shows the following at apache startup:

[Tue Jun 28 08:42:59 2005] [notice] Apache/2.0.54 (Unix) mod_perl/2.0.1 Perl/v5.8.5 configured -- resuming normal operations


So it appears that everything is fine.
Then when I use an address like the following:

       http://localhost/perl/rock.pl

with the following in rock.pl

      #!/usr/bin/perl

         print "Content-type: text/plain\n\n";
         print "mod_perl 2.0 rocks!\n";

I get an Internal Server Error page with the following in the error_log:

[Tue Jun 28 13:00:31 2005] [error] [client 127.0.0.1] failed to resolve handler `ModPerl::Registry': Bareword "Apache::OK" not allowed while "strict subs" in use at /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache2/ModPerl/RegistryCooker.pm line 160.\nBareword "Apache::OK" not allowed while "strict subs" in use at /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache2/ModPerl/RegistryCooker.pm line 162.\nBareword "Apache::OK" not allowed while "strict subs" in use at /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache2/ModPerl/RegistryCooker.pm line
       170.\nBEGIN not safe after errors--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache2/ModPerl/RegistryCooker.pm line 200.\nCompilation failed in require at (eval 4) line 3.\n\t...propagated at /usr/lib/perl5/5.8.5/base.pm line
       85.\nBEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Apache2/ModPerl/Registry.pm line
       25.\nCompilation failed in require at (eval 3) line 3.\n

Have I lost my mind? I'm new to modperl. Thanks in advance for any help that you would be able to offer! Trust me! It is GREATLY appreciated!

Thanks!
Ronni


You're trying to mix mp2 apis.  It change drastically in mp2 1.99 RC5.

Apache2.pm from PerlModule Apache2 no longer exists. You've managed to install mp2.0.0+ over an older version before 1.99 RC5 which shouldn't be possible.

Read this:
http://perl.apache.org/docs/2.0/rename.html

The constant should be written as
Apache2::Const::OK

>PerlModule Apache2 ##This allows perl -V to look in /Apache2/ under the perl install
That won't affect perl -V since its in your httpd.conf

What it *USED* to do was change your @INC at run-time to look in the right place. See the above link for why you don't do this anymore.

HTH


--
END ---------------------------------------------------------
   What doesn't kill us can only make us stronger.
              Nothing is impossible.
                                
Philip M. Gollucci ([EMAIL PROTECTED]) 301.254.5198
Consultant / http://p6m7g8.net/Resume/resume.shtml
Senior Developer / Liquidity Services, Inc.
    http://www.liquidityservicesinc.com

Reply via email to