2017-05-16 28 views
0

我在CentOS 6.7上運行laravel 5.1,在Nginx本地服務器上運行。 是否可以將/ etc/environment中設置的環境變量直接傳遞給laravel?我試過了,但它不起作用。Nginx上的Laravel 5.1獲取Linux環境變量

但是,如果我包含 「fastcgi_param LARAVEL_ENV local;」行 在我的nginx配置中,它通過在laravel中使用getenv('varName')來工作。這是作爲服務器環境變量傳遞的,這不是我想要的。

是否有可能使用getenv()直接從Linux獲取環境變量,而不使用Nginx中的fastcgi_param?

回答

0

Laravel 5.1使用dotenvvlucashttps://github.com/vlucas/phpdotenv)來管理它的環境變量以及緩存層,以減輕與包相關的加載影響。

phpdotenv是爲開發環境而設計的,一般不應該用於生產。在生產中,應該設置實際的環境變量,以便在每個請求上加載.env文件沒有開銷。這可以通過自動部署流程(例如Vagrant,廚師或Puppet等工具)來實現,也可以使用Pagodabox和Heroku等雲主機手動設置。

我會考慮在使用這之前努力鑽研NGINX配置。

其它信息可以在laravel文檔中找到:

https://laravel.com/docs/5.1/installation#environment-configuration