You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Stathy Touloumis <st...@edventions.com> on 2002/01/03 02:15:12 UTC
push_handlers, set_handlers
Apache 1.3.22
mod_perl 1.26
I have noticed some strange behavior when attempting to stack handlers below
the 'ChildInit' phase. This code executes fine when placed in a server
initialization script:
Apache->push_handlers( PerlChildInitHandler=> \&My::Child::handler );
When using the code below in a server initialization script without any
apache config directives the handler does not get called.
Apache->push_handlers( PerlHandler=> \&My::handler );
When applying the following apache conf directive the handler seems to only
get called occasionally (initialization of child process?).
<Files *.html>
SetHandler perl-script
</Files>
Although, when using the 'push_handlers' method at another part of the
request phase the handler gets called occasionally.
Apache->push_handlers( PerlFixupHandler=> \&My::Other::handler );
When using the method below the handlers do not get called at all.
Apache->httpd_conf(<<EOF);
<Files *.html>
PerlHandler My::handler
SetHandler perl-script
</Files>
EOF
Apache->httpd_conf(<<EOF);
PerlFixupHandler My::Other::handler
EOF
Of course when setting the directives into the apache conf all seems to work
well.
PerlFixupHandler My::Other
<Files *.html>
PerlHandler My
SetHandler perl-script
</Files>
Any ideas as to why this strange behavior? When trying to use the
'set_handlers' method it blows up stating the request object is not created.
I cannot see the reason why the request object should be needed to set/push
handlers which are used to 'handle' the request phases.
Thanks,