【问题标题】:Laravel `.env`, system-level, and server-level environment variablesLaravel `.env`,系统级和服务器级环境变量
【发布时间】:2018-01-15 08:17:57
【问题描述】:

我对@9​​87654323@Documentation中的以下句子有点困惑:

.env 文件中的任何变量都可以被外部覆盖 环境变量,例如服务器级或系统级环境 变量。

看起来像我想要做的,即从服务器级环境变量设置我的一些 .env 变量,但我找不到任何关于如何做的参考。

这样的配置背后似乎存在一些安全隐患,但是下面stackoverflow answer 并没有评论这句话。

我也倾向于认为,如果在.env文件中使用了对环境变量的引用,正是为了删除机密信息,因此我不再看到安全问题。

我的结论是我误解了这句话,但我很乐意理解原因,或者,如果碰巧有可能,我会知道该怎么做。谢谢。

【问题讨论】:

    标签: php laravel-5 configuration environment-variables production-environment


    【解决方案1】:

    我也很好奇这个。这是你的答案:

    系统级环境变量:

    这些是在实际操作系统本身上设置的。

    例如,在 Windows 中,系统级变量可以配置在:

    1. 控制面板
    2. 系统属性
    3. 点击环境变量
    4. 您将看到 Windows 包含的所有系统级变量

    不幸的是,不确定环境变量在 Linux 中的存储位置。

    服务器级环境变量:

    这些是在主机服务器上设置的,例如在 Apache 中,服务器级别的环境变量可以通过文件 /etc/apache2/envvars 进行配置

    https://httpd.apache.org/docs/2.4/mod/mod_env.html#setenv

    在 Windows IIS 上,它们可以通过此处描述的 FastCGI 模块进行配置:

    https://docs.microsoft.com/en-us/iis/configuration/system.webserver/fastcgi/application/environmentvariables/#how-add-a-fastcgi-environment-variable-for-php

    如果超链接发生变化:

    1. 打开 IIS 管理器
    2. 在“连接”窗格中,单击要为其配置 FastCGI 设置的服务器名称。
    3. 在主页窗格中,双击 FastCGI 设置。
    4. 在 FastCGI 设置窗格中突出显示 PHP 应用程序,然后在操作窗格中单击编辑...
    5. 在“编辑 FastCGI 应用程序”对话框中,单击 EnvironmentVariables 旁边的省略号 (...) 以打开环境变量集合编辑器。
    6. 在 EnvironmentVariables 集合编辑器对话框中,单击添加。
    7. 输入以下信息,然后单击“确定”。
      • 输入“PHP_FCGI_MAX_REQUESTS”作为名称。
      • 输入“10000”作为值。
    8. 单击“确定”关闭“添加 FastCGI 应用程序”对话框。

    【讨论】:

    • 据我记得,我尝试设置系统级环境变量,但 Laravel 没有考虑到它们;他们没有覆盖 .env var。现在有点远,但我认为我的问题是如何让 Laravel 考虑到它们。我猜不是一种 os.environ(我来自 Python 世界),因为 php 不允许这样做(如果我是正确的)。
    • 是的,老实说,我从未尝试过为 PHP 配置系统级 env,因为我还没有真正发现需要这样做。 imo 服务器级别会更有意义。
    • @PierreCordier 我在使用 Laravel 6 的 linux docker 容器上进行的测试表明,确实 系统环境变量被 .env 文件中的变量覆盖 - 而不是相反。然而文档仍然说 “.env 文件中的任何变量都可以被外部环境变量覆盖,例如服务器级或系统级环境变量。” 这似乎是文档中的一个错误。我希望记录的方式是真实的,因为它可以提供更大的灵活性。
    猜你喜欢
    • 2017-07-02
    • 2020-07-27
    • 1970-01-01
    • 2015-09-16
    • 2019-01-19
    • 2015-09-12
    • 2016-07-03
    • 2011-04-22
    • 2021-11-05
    相关资源
    最近更新 更多