2016-03-17 19 views
10

Bazı Linux sistem ortamı değişkenlerini almak ve hala .env değişkenlerini kullanmak mümkün mü?Laravel 5.2 Linux sistem ortamı değişkenlerini al

Linux ortam değişkeni olarak ayarlanan, ancak Linux sistemi ortam değişkenlerini bulmak için Laravel'i alamayan, otomatik olarak oluşturulmuş bir veritabanı parolası kullanmak istiyoruz.

+2

bilgim gereğince, dahili kullanım – Qazi

+3

http://stackoverflow.com/ küresel değişkeni laravel için, kabuk komutları çalıştırın Değişkeninizi kapmak ve atamak için doğrudan Linux ortam değişkeni, sen sahip kullanamazsınız sorular/13568191/nasıl yapılır-sistem-ortam-değişkenleri-php-while-running-cli-apache2hand içine bakardınız? –

+0

Bu sorunun nedeni açık mı? – miken32

cevap

-1
+0

env işlevi Laravel proje ortamı değişkenleriyle sınırlıdır, Linux sistem ortamı değişkenlerini alamıyoruz. – yclaes

+0

Peki, herhangi bir kullanıcı tarafından erişilebilir olmak için size değişken ihraç etmelisiniz. /etc/profile.d iyi bir başlangıç ​​noktası olmalıdır. –

0

Linux sistem değişkenleri PHP/Apache üzerinden erişim olamaz. Sitenizin Apache Vhost'unda SetEnv aracılığıyla bir değişken belirleyebilir ve Laravel'de yakalayabilirsiniz.

Sen

  • Apache yapabilirdi

    : fastcgi_param DB_Pass dbpassword123

Örnek Apache Vhost: senin Vhost

  • Nginx içinde SetEnv DB_Pass dbpassword123

    <VirtualHost example.com:80> 
        ServerAdmin [email protected] 
        DocumentRoot /var/www/html 
        ServerName mpj.local.dev 
    
        SetEnv DB_Pass dbpassword123 
    
        <Directory /var/www/html> 
         AllowOverride All 
         Require all granted 
        </Directory> 
    
        ErrorLog "/var/log/apache2/error_log" 
        CustomLog "/var/log/apache2/access_log" common 
    </VirtualHost> 
    

    ve

    $dbPass = env('DB_Pass'); 
    
  • +1

    Yarı yolda. Çok mümkündür, değişkenler sadece önce HTTP sunucusuna geçirilmelidir. @NabinKunwar'in paylaştığı gibi, [CLI ve Apache2Handler'ı çalıştırırken sistem ortam değişkenlerini PHP'ye nasıl alırsınız?] (Http://stackoverflow.com/a/23635043/5816643). – Qevo