Laravel `.env`,系统级和服务器级环境变量

问题描述 投票:0回答:1

我对

Laravel 5
文档中的以下句子有点困惑:

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

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

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

我也倾向于认为,如果在

.env
文件中使用对环境变量的引用,恰恰是为了删除机密信息,因此我不再看到安全问题。

我的结论是我误解了这句话,但我很乐意理解为什么,或者,如果碰巧有可能的话,知道如何去做。谢谢。

php laravel-5 configuration environment-variables production-environment
1个回答
5
投票

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

系统级环境变量:

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

例如,在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://learn.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 应用程序”对话框中,单击“环境变量”旁边的省略号 (...) 以打开环境变量集合编辑器。
  6. 在环境变量集合编辑器对话框中,单击添加。
  7. 输入以下信息,然后单击“确定”。
  • 输入“PHP_FCGI_MAX_REQUESTS”作为名称。
  • 输入“10000”作为值。
  1. 单击“确定”关闭“添加 FastCGI 应用程序”对话框。

.env
变量:

当然,这些是您在 Laravel 应用程序根目录下的

.env
文件中定义的环境变量。

© www.soinside.com 2019 - 2024. All rights reserved.