perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier>
Subject Re: apache2 or mod_perl2 oddball error
Date Sun, 19 Jun 2011 21:52:37 GMT
William Bulley wrote:
> According to Perrin Harkins <> on Fri, 06/17/11 at 15:35:
>> On Fri, Jun 17, 2011 at 3:20 PM, William Bulley <> wrote:
>>> Recall that all I'm trying to do at this point is to get the apache
>>> server up and running. ?The fact that these two lines in this include
>>> file of this particular application case "apachectl -t" to error out
>>> should have nothing to do with the application and how it does or does
>>> not start up.

I am not really a mod_perl guru; I've just been using it for 10 years or so.
But let me maybe explain something in a probably not very accurate way, but which maybe 
can explain what you are seeing.

When Apache executes a LoadModule directive, it not only loads that module code in memory.

  The module code also gets called at that point, and in return the module tells Apache 
which further configuration directives "it is interested in".
For example, when Apache encounters "LoadModule", mod_perl gets loaded, and 
tells Apache that it is interested in processing further directives such as "PerlModule",

PerlRequire, PerlSetVar, etc.. (all the other mod_perl specific directives).
(Otherwise,Apache would not "know" these directives, and would flag them as errors right 
Subsequently, when Apache detects one of these module-specific directives, it passes the 
directive line to mod_perl, to parse and interpret that line.
If mod_perl then detects a syntax (or other) error in that line, it returns an error 
status to Apache, and Apache as a result refuses to continue parsing the Apache 
configuration file, and refuses to start.

In other words, maybe for mod_perl 5.x, a directive such as
PerlModule "Apache2::Const -compile => ':common'"
may have been acceptable, and did not cause mod_perl to return an error to Apache.
But for mod_perl 5.x+1, that same form is not acceptable anymore, and returns an error.
And *that* is what prevents Apache to start.

Personally, I have never seen before a PerlModule directive like
PerlModule "Apache2::Const -compile => ':common'"
In an Apache configuration file, I have always seem only PerlModule directives like
PerlModule Apache2::Const
(and that is also what the on-line mod_perl documentation seems to indicate as the valid 
format, see

So, if you just remove the "-compile => ':common'" part, does Apache still fail to start

(at the same point I mean) ?

That you may then see errors at some other point (because of the missing "-compile => 
':common'") is a different matter, and can be resolved separately.

View raw message