Quando você executa apachectl -S
, ele está apenas analisando o código para certificar-se de que esteja sintaticamente correto; na verdade, ele não está executando o código. A saída está apenas informando as coisas que podem acontecer, não o resultado da avaliação do bloco if / else.
Você pode verificar isso, na verdade, ter uma diretiva Apache ativa em seus blocos if e else. Por exemplo:
<If "-T osenv('PRODUCTION')">
Define dogs dogs
Header set MyHeader1 "PRODUCTION defined %D %t"
</If>
<Else>
Define cats cats
Header set MyHeader2 "PRODUCTION undefined %D %t"
</Else>
E você começa seu Apache com ou sem PRODCUTION definido, você verá o cabeçalho diferente nas respostas do seu servidor. Os %D
e %t
estão lá para adicionar algo que muda com cada solicitação para que você não pense que está obtendo algo armazenado em cache de alguma forma.
Por favor, note que para isso funcionar você deve fazer um ponto final e começar entre a configuração / desconfiguração da variável de ambiente PRODUÇÃO, a reinicialização não funcionará.