Apache'yi kullanırken PHP'de erişim için ortam değişkenlerini ayarlama


105

Bir Linux ortamım var ve PHP'de kullanılan ortam değişkenlerine göre koşullu olarak çalışan bir PHP Web Uygulamam var getenv. Uygulamanın düzgün çalışması için bu ortam değişkenlerinin nasıl ayarlanması gerektiğini bilmem gerekiyor. Bunun Apache'de nasıl kurulacağından emin değilim.

Ayrıca, her etki alanı için ayrı ortam değişkenlerini ayrı ayrı yapılandırabilmem gerekiyor.

Lütfen bunu nasıl başarabileceğim konusunda tavsiye verin.


Yanıtlar:


160

Çizgiler boyunca bir şey:

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

3
$ _ENV
dizimde

Çok teşekkür ederim!
Omran Shagooj

4
@i_a ile PHP'deki değere erişebilirsinizgetenv('VARIABLE_NAME')
BeetleJuice

Windows'taki xampp'de dosya C: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf
Dung

@i_a Makinemde bu değer $_SERVERdeğişkende de bulunabilir .
robsch

28

Bunu, web sitesinde etkin olduklarını varsayarak bir .htaccess dosyasında da yapabilirsiniz.

SetEnv KOHANA_ENV production

Ortam değişkenini eklemek için .htaccess'e eklemeniz gereken tek şey bu olabilir


bu, laravel'in bunu yaptığı gibi bir .env dosyası kullanmaktan farklı mıdır? Bu onu daha az güvenli hale getiriyor mu? Bunu soruyorum çünkü birden fazla çerçeveyle (laravel, express, django, vb.) Aynı arka uç yapısını oluşturuyorum ve bu diğer dillerin bazı geliştiricileri ".env kullanmak için uygun değil" ve "sunucu yapılandırması" bunun yerine kullanılır veya komut satırı yoluyla, heroku stili ile yapmak
OzzyTheGiant

8

İnanılmaz, ancak httpd 2.2'de centos 6.4'te bu çalışıyor.

Ortam değişkenlerini şuradaki dışa aktar /etc/sysconfig/httpd

export mydocroot=/var/www/html

O zaman basitçe bunu yapın ...

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

En sonunda....

service httpd restart;

4

Sunucunuz Ubuntu ve Apache sürümü 2.4 ise

Sunucu sürümü: Apache / 2.4.29 (Ubuntu)

Sonra değişkenleri "/ etc / apache2 / envvars" konumuna dışa aktarırsınız.

Aşağıdaki satırda olduğu gibi, "/ etc / apache2 / envvars" içine fazladan bir satır eklemeniz gerekir export GOROOT = / usr / local / go

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.