【问题标题】:Laravel 5.1 on Nginx get Linux environment variablesNginx 上的 Laravel 5.1 获取 Linux 环境变量
【发布时间】:2017-10-15 09:37:31
【问题描述】:

我在 CentOS 6.7 上的 Nginx 本地服务器上运行 laravel 5.1。 是否可以将 /etc/environment 中设置的环境变量直接传递给 laravel?我试过了,但它不起作用。

但是,如果我包含该行 “fastcgi_param LARAVEL_ENV 本地;” 在我的 nginx 配置中,它通过在 laravel 中使用 getenv('varName') 来工作。这是作为服务器环境变量传递的,这不是我想要的。

是否可以使用 getenv() 直接从 Linux 获取环境变量,而无需在 Nginx 中使用 fastcgi_param?

【问题讨论】:

    标签: linux laravel nginx centos environment


    【解决方案1】:

    Laravel 5.1 使用 dotenv 包由 vlucas (https://github.com/vlucas/phpdotenv) 管理其环境变量以及缓存层以减轻与包相关的加载影响。

    phpdotenv 是为开发环境而设计的,一般不应该在生产环境中使用。在生产环境中,应该设置实际的环境变量,这样就不会在每个请求上加载 .env 文件的开销。这可以通过使用 Vagrant、chef 或 Puppet 等工具的自动化部署过程来实现,也可以使用 Pagodabox 和 Heroku 等云主机手动设置。

    在深入研究 NGINX 配置之前,我会考虑使用它。

    更多信息可以在 laravel 文档中找到:

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

    【讨论】:

      【解决方案2】:

      在谷歌上搜索了很长时间和一夜之后,实现我想要的唯一方法是通过 php-fpm 目录中的 www.conf 。

      我参考了这些链接:

      Access environment variables Laravel 4

      What is www.conf

      【讨论】:

        猜你喜欢
        • 2016-07-03
        • 2021-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-04
        • 1970-01-01
        • 2016-04-08
        • 1970-01-01
        相关资源
        最近更新 更多