2012-06-05 6 views
77

Mam środowisko Linux i mam aplikację sieci Web PHP, która warunkowo działa na podstawie zmiennych środowiskowych przy użyciu getenv w PHP. Muszę wiedzieć, jak te zmienne środowiskowe muszą zostać ustawione, aby aplikacja działała poprawnie. Nie wiem, jak ustawić to w Apache.Ustawianie zmiennych środowiskowych do uzyskiwania dostępu w PHP

Muszę też mieć możliwość samodzielnego konfigurowania oddzielnych zmiennych środowiskowych dla każdej domeny.

Proszę doradzić, w jaki sposób mogę to osiągnąć.

+0

http://stackoverflow.com/ pytania/146354/setting-php-variables-in-httpd-conf –

Odpowiedz

124

Coś wzdłuż linii:

<VirtualHost hostname:80> 
    ... 
    SetEnv VARIABLE_NAME variable_value 
    ... 
</VirtualHost> 
+1

nie znajdował się w mojej tablicy $ _ENV, dla otrzymania wartości zobacz: http: // stac koverflow.com/questions/2378871/set-application-env-via-virtual-host-config-and-read-this-in-php –

+0

Dziękuję bardzo! –

+0

@i_a możesz uzyskać dostęp do wartości w PHP za pomocą 'getenv ('VARIABLE_NAME')' – BeetleJuice

25

Można również zrobić to w pliku .htaccess, zakładając, że są włączone na stronie internetowej.

SetEnv KOHANA_ENV production 

Byłoby wszystko trzeba dodać do .htaccess dodać zmienną środowiskową

4

Niewiarygodne, ale na httpd 2.2 na CentOS 6.4 to działa.

Export env vars w /etc/sysconfig/httpd

export mydocroot=/var/www/html 

Wtedy po prostu to zrobić ...

<VirtualHost *:80> 
    DocumentRoot ${mydocroot} 
</VirtualHost> 

wreszcie ....

service httpd restart;