如何确保在PerlOptions之后执行PerlPostConfigRequire?

时间:2019-08-05 16:57:23

标签: apache perl mod-perl2

在使用具有相同代码库的多个不同版本的多个不同PerlPostConfigRequire的设置中,与PerlOptions相比VHOST执行时,我很难理解。

要解决同一代码库的不同版本的问题,我将使用各自的VHOST并使用以下选项托管所有这些不同版本:

PerlOptions +Parent

这样,每个VHOST以及每个版本的代码库都将获得自己独特的Perl解释器。现在,我想在HTTPd开始使用PerlPostConfigRequire时预加载那些不同代码库的一些代码。重要的一点是,这需要在VHOST之后+Parent发生。

那么直接将两个语句写在另一个语句上就足够了吗?

PerlOptions           +Parent
PerlPostConfigRequire "Some.pm"

我知道何时执行PerlPostConfigRequire,但是找不到PerlOptions的阶段:

https://perl.apache.org/docs/2.0/user/handlers/server.html#When_Does_perl_Start_To_Run

PerlOptions的某些设置被定义为对每个目录有效,而+Parent仅对每个服务器有效:

https://perl.apache.org/docs/2.0/user/config/config.html#mod_perl_Directives_Argument_Types_and_Allowed_Location

但这是否意味着在配置阶段也使用上述两行PerlOptions而不是例如在请求期间?由于+Parent创建了处理请求所需的新Perl解释器,这是我的理解。如果该假设正确,则PerlPostConfigRequire也应在PerlOptions之后执行,因为在同一阶段中顺序 的陈述决定了。

我正确吗?谢谢!

0 个答案:

没有答案