2012-12-20 13 views
10

Tytuł mówi. Chcę użyć tego z proc_open, aby dołączyć niektóre zmienne do bieżącego środowiska.Jak uzyskać wszystkie zmienne środowiskowe jako tablicę w PHP?

$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); 

Edytuj: $_ENV jest pusty/domyślnie niewypełniony. $_SERVER zawiera o wiele więcej niż env vars.

+0

@Jack '$ _ENV' jest pusty dla mnie. – Znarkus

+1

Następnie sprawdź swój [variables_order] (http://php.net/manual/en/ini.core.php#ini.variables-order) –

+2

@Jack Thanks. Ale czy naprawdę nie ma nic bardziej przenośnego? – Znarkus

Odpowiedz

-6

że masz używać $ _ENV argumentem

+0

'$ _ENV' jest pusty dla mnie. – Znarkus

+0

http://stackoverflow.com/questions/3780866/why-is-my-env-empty – ennovativemedia

+2

Czy naprawdę nic nie jest bardziej przenośne? – Znarkus

1

Spróbuj getenv() pobiera wartość zmiennej środowiskowej.

Tablica $ _ENV tworzony jest tylko wtedy, gdy wartość dyrektywy konfiguracyjnej variables_order zawiera E. Jeśli $ _ENV nie jest dostępna, użycie getenv(), aby odzyskać zmienną środowiskową:

$ path = getenv (” ŚCIEŻKA');

+0

Czy możesz dodać przykład użycia 'getenv()'? – mattjegan

+0

gdzie jest dyrektywa konfiguracyjna 'variables_order' – Hafiz

Powiązane problemy