PassEnv之后的条件SetEnv

时间:2019-06-24 13:27:45

标签: apache2

在任何情况下,当PERL5OPT env变量eq -d时,我都必须将INSTANCE_MODE env变量强制为test

类似这样的东西:

PassEnv PERL5OPT
PassEnv INSTANCE_MODE
SetEnvIf INSTANCE_MODE test PERL5OPT=-d

不幸的是,它不起作用。可能吗?正确的语法是什么?

我也尝试过什么语法:

SetEnvIf %{INSTANCE_MODE} "test" PERL5OPT=-d NO
SetEnvIf %{ENV:INSTANCE_MODE} "test" PERL5OPT=-d NO
SetEnvIfExpr "env('INSTANCE_MODE') == 'test'" PERL5OPT=-d
SetEnvIfExpr "osenv('INSTANCE_MODE') == 'test'" PERL5OPT=-d
SetEnvIfExpr "%{INSTANCE_MODE} == 'test'" PERL5OPT=-d # error: Variable 'INSTANCE_MODE' does not exist
SetEnvIfExpr "env('INSTANCE_MODE') == 'test'" PERL5OPT=-d

$httpd -vServer version: Apache/2.4.6 (CentOS)

1 个答案:

答案 0 :(得分:0)

If指令可能更合适,请尝试:

<If "osenv('INSTANCE_MODE') == 'test'">
    SetEnv PERL5OPT "-d"
</If>