【问题标题】:PHP cannot get the environment variablesPHP 无法获取环境变量
【发布时间】:2021-10-19 10:47:57
【问题描述】:

我将一些环境变量作为 bash 变量和其他环境变量放入 .env 文件中。
在我的 php 脚本中,我使用这个加载 env 变量

require __DIR__.'/vendor/autoload.php';
use Dotenv\Dotenv;

$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();

但是这样我就只有.env file variables了,怎么获取bash环境变量???

【问题讨论】:

    标签: php bash operating-system environment-variables phpdotenv


    【解决方案1】:

    这应该可以工作

    // Example use of getenv()
    $ip = getenv('REMOTE_ADDR');
    
    // Or simply use a Superglobal ($_SERVER or $_ENV)
    $ip = $_SERVER['REMOTE_ADDR'];
    

    来自 PHP 文档, https://www.php.net/manual/en/function.getenv.php

    【讨论】:

    • $_ENVgetenv 得到与$dotenv->load() 相同的结果,结果是文件.env 变量,$_SERVER 得到http 请求变量。我需要 bash 环境变量(或操作系统环境变量)
    • 我认为您的 .env 文件正在覆盖已经可用的 bash 变量。尝试在不加载 .env 文件的情况下获取 bash 环境变量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-23
    • 2014-02-11
    相关资源
    最近更新 更多