On Nov 8, 2007, at 1:07 PM, Octavian Rasnita wrote:

From: "Boysenberry Payne" <[EMAIL PROTECTED]>
What should I do if I want to load the classes after the server forks?

There are many phases after the fork, the most commonly used is the
PerlResponseHandler phase

Do I understand correctly that even the modules specified in httpd.conf with

PerlResponseHandler Module::Name

are loaded before the server forks, because they are loaded with
PerlModule Module::Name
or in a startup.pl file?

Correct. Using `PerlModule Module::Name` in the httpd.conf file is the same as `use Module::Name();`in the startup.pl file. All of the configurations in those files
are run before the fork and before any other accessible phases.

But what if the module Module::Name "use" or "require" other modules?
Are they also loaded before the server forks, or I need to load them with "PerlModule ..." in httpd.conf?

Good question. I think it might depend on how the requires/uses are scoped in the scripts that are included. I'm pretty sure any use statements that are scoped globally will be included in each forked copy of the server. To insure they are included it is suggested you add your use statements to the startup.pl file. Probably including your use/require statements in a BEGIN {} block will
help to insure they are pre-compiled.

-bop

Reply via email to