Как получить все переменные окружения в виде массива в PHP?

Название говорит это. Я хочу использовать это с proc_open, чтобы добавить некоторые переменные в текущую среду.

$current_env = get_all_env_vars_magically();
$env = array_merge($current_env, $new_vars);
$ph = proc_open($command, array(1 => array('pipe', 'w')), 
    $pipes, dirname(__FILE__), $env);

Редактировать: $_ENV пусто/не заполнено по умолчанию. $_SERVER содержит намного больше, чем env vars.

Ответ 1

Попробуйте getenv() он получает значение переменной среды.

Массив $_ENV создается только в том случае, если значение директивы конфигурации variables_order содержит E. Если $_ENV недоступно, используйте getenv() для извлечения переменной среды:

$path = getenv ('PATH');

Ответ 2

Подумайте, вы должны использовать аргумент $_ENV