William Bulley wrote:
According to Perrin Harkins <per...@elem.com> on Fri, 06/17/11 at 15:35:
On Fri, Jun 17, 2011 at 3:20 PM, William Bulley <w...@umich.edu> 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.
Hi.
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.so", 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
away).
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 http://perl.apache.org/docs/2.0/user/config/config.html#C_PerlModule_)
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.