You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Theo Petersen <th...@acsp.com> on 2000/06/27 19:39:13 UTC

Apache::Include requires ExecCGI on doc root?

I was experimenting with Apache::Include and found something odd.  First
I tried a document in htdocs that used a virtual include like so:

<!--#include virtual="/perl/hello-mod_perl.pl" -->

This works fine, and hello-mod_perl.pl runs via Apache::Registry.

But when I changed the include to use Apache::Include like so:

<!--#perl sub="Apache::Include" arg="/perl/hello-mod_perl.pl" -->

it didn't work, and I got an error in error_logs:

[Tue Jun 27 11:22:59 2000] [error] access to
/usr/local/apache/perl/hello-mod_perl.pl failed for 192.168.3.9, reason:
Options ExecCGI is off in this directory

I verified that ExecCGI is enabled for /usr/local/apache/perl (besides,
the Apache::Registry version wouldn't have worked without it).  Turns
out that Apache::Include worked fine when I enabled ExecCGI for htdocs.

Is there a reason why Apache::Include requires this when mod_include
doesn't?

Regards,
..Theo
--
Theo Petersen            mailto:theo@acsp.com
"Well, let's get back to work; the world isn't going to end itself."
  --MST3K, "The Space Children"

Re: Apache::Include requires ExecCGI on doc root?

Posted by Theo Petersen <th...@acsp.com>.
"Alan E. Derhaag" wrote:
> 
> Theo Petersen <th...@acsp.com> writes:
> 
> > I was experimenting with Apache::Include and found something odd.  First
> > I tried a document in htdocs that used a virtual include like so:
> >
> > <!--#include virtual="/perl/hello-mod_perl.pl" -->
> >
> > This works fine, and hello-mod_perl.pl runs via Apache::Registry.
> >
> > But when I changed the include to use Apache::Include like so:
> >
> > <!--#perl sub="Apache::Include" arg="/perl/hello-mod_perl.pl" -->
> >
> > it didn't work, and I got an error in error_logs:
> >
> > [Tue Jun 27 11:22:59 2000] [error] access to
> > /usr/local/apache/perl/hello-mod_perl.pl failed for 192.168.3.9, reason:
> > Options ExecCGI is off in this directory
> >
> > I verified that ExecCGI is enabled for /usr/local/apache/perl (besides,
> > the Apache::Registry version wouldn't have worked without it).  Turns
> > out that Apache::Include worked fine when I enabled ExecCGI for htdocs.
> >
> > Is there a reason why Apache::Include requires this when mod_include
> > doesn't?
> 
> Did you ever get a responce?  I searched the archives and find nothing
> touching upon this, otherwise.
> 
> I have a similar problem and I was wondering if your httpd.conf file
> had either a <Directory> or <Location> entry that specified `+ExecCGI'
> instead of `ExecCGI' as that appears to make a difference, as well.
> 
No, I never got a response.  What difference does +ExecCGI make?  I
don't recall having it in my conf file at the time.

..Theo
--
Theo Petersen            mailto:theo@acsp.com
"Well, let's get back to work; the world isn't going to end itself."
  --MST3K, "The Space Children"

Re: Apache::Include requires ExecCGI on doc root?

Posted by "Alan E. Derhaag" <ad...@wolfenet.com>.
Theo Petersen <th...@acsp.com> writes:

> I was experimenting with Apache::Include and found something odd.  First
> I tried a document in htdocs that used a virtual include like so:
> 
> <!--#include virtual="/perl/hello-mod_perl.pl" -->
> 
> This works fine, and hello-mod_perl.pl runs via Apache::Registry.
> 
> But when I changed the include to use Apache::Include like so:
> 
> <!--#perl sub="Apache::Include" arg="/perl/hello-mod_perl.pl" -->
> 
> it didn't work, and I got an error in error_logs:
> 
> [Tue Jun 27 11:22:59 2000] [error] access to
> /usr/local/apache/perl/hello-mod_perl.pl failed for 192.168.3.9, reason:
> Options ExecCGI is off in this directory
> 
> I verified that ExecCGI is enabled for /usr/local/apache/perl (besides,
> the Apache::Registry version wouldn't have worked without it).  Turns
> out that Apache::Include worked fine when I enabled ExecCGI for htdocs.
> 
> Is there a reason why Apache::Include requires this when mod_include
> doesn't?

Did you ever get a responce?  I searched the archives and find nothing
touching upon this, otherwise.

I have a similar problem and I was wondering if your httpd.conf file
had either a <Directory> or <Location> entry that specified `+ExecCGI'
instead of `ExecCGI' as that appears to make a difference, as well.

-- 
 Alan E. Derhaag                 New Era Software Development
 http://www.wolfenet.com/~aderhaag/           Auburn, WA, USA
 email: aderhaag@wolfenet.com          aderhaag2@wa.freei.net 

Re: Apache::Include requires ExecCGI on doc root?

Posted by Doug MacEachern <do...@covalent.net>.
On Tue, 27 Jun 2000, Theo Petersen wrote:

> I was experimenting with Apache::Include and found something odd.  First
> I tried a document in htdocs that used a virtual include like so:
> 
> <!--#include virtual="/perl/hello-mod_perl.pl" -->
> 
> This works fine, and hello-mod_perl.pl runs via Apache::Registry.
> 
> But when I changed the include to use Apache::Include like so:
> 
> <!--#perl sub="Apache::Include" arg="/perl/hello-mod_perl.pl" -->
> 
> it didn't work, and I got an error in error_logs:
> 
> [Tue Jun 27 11:22:59 2000] [error] access to
> /usr/local/apache/perl/hello-mod_perl.pl failed for 192.168.3.9, reason:
> Options ExecCGI is off in this directory
> 
> I verified that ExecCGI is enabled for /usr/local/apache/perl (besides,
> the Apache::Registry version wouldn't have worked without it).  Turns
> out that Apache::Include worked fine when I enabled ExecCGI for htdocs.
> 
> Is there a reason why Apache::Include requires this when mod_include
> doesn't?

probably because Apache::Include skips the majority of the subrequest
mechanism and just calls $r->translate_name;  i don't know exactly what it
missing without looking, just stick with using mod_include's #include if
it's a problem.