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.

Reply via email to