Como você usa o SetEnv para ler variáveis no Apache?

3

Eu quero definir uma variável env que tenha a informação DOC_ROOT, mas nada

SetEnv PROJECT_BASE %{ENV:DOC_ROOT}
SetEnv LAYOUT_HOME  %{ENV:PROJECT_BASE}"/html/app/wordpress/"

e, em seguida, conseguir acessar LAYOUT_HOME no php

Como posso fazer isso? O acima não está funcionando para mim ...

O problema é que o caminho base é diferente em ambientes diff = /

    
por qodeninja 16.02.2011 / 00:11

2 respostas

4

SetEnv é uma diretiva para mod_env, e mod_env não suporta% {ENV: var} - somente o mod_rewrite faz isso. Não se esqueça de que o apache é modular e os módulos definem suas próprias diretivas. Você pode fazer isso com mod_rewrite assim:

 RewriteRule .* -  [E=PROJECT_BASE:%{ENV:DOC_ROOT}]
  ... etc

Devo perguntar: o que você está realmente tentando fazer? Deve haver um caminho melhor. Não consigo pensar em nenhum motivo para definir sua variável LAYOUT_HOME no apache em vez do php.

    
por 16.02.2011 / 03:06
0

Use getenv , doc aqui .

Ele irá obter qualquer variável de ambiente, apenas usá-lo para obter o que você definir no Apache.

    
por 16.02.2011 / 00:15