【问题标题】:I can see env variable on server using printenv, but cannot get them in php我可以使用 printenv 在服务器上看到 env 变量,但无法在 php 中获取它们
【发布时间】:2018-04-25 15:35:46
【问题描述】:

我想在我的应用程序中使用某些环境变量,当我尝试获取它时

printenv | grep "MY_VARIABLE"

我知道了

MyVariable

但是当我尝试在 php 中获取它时

print_r( getenv( 'MY_VARIABLE' ) );

我什么都没说出来。

我在 AWS 上使用 EC2 实例,不确定这是否有帮助。

我也尝试了$_SERVER$_ENV,但没有...

【问题讨论】:

  • 您是通过执行 printenv 的同一命令行运行应用程序,还是通过 webserver/php 堆栈运行应用程序?
  • 应用通过网络服务器运行。
  • 当您运行命令时,您的意思是在 shell 中吗?该外壳以什么用户身份运行? webservice 进程(apache 或其他)的用户呢?您要查找的环境变量是如何设置的?
  • php fpm 池中没有配置环境变量,这就是为什么我无法使用getenv 访问它们。
  • 听起来您应该将其添加为答案。

标签: php amazon-web-services environment-variables


【解决方案1】:

我认为你应该先尝试使用 phpinfo() 函数来确定请求的值是否已设置! 或尝试将 local_only 值设置为 true。

【讨论】:

    【解决方案2】:

    未在 PHP fpm 池中配置 env 变量,这就是我无法使用 getenv 访问它们的原因。

    但是,这不是存储环境变量的最安全方式。如果您正在使用它们,请务必在您的服务器上禁用 phpinfo()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-25
      • 2021-02-21
      • 1970-01-01
      相关资源
      最近更新 更多