getenv

funkcja

Odczytuje wartość zmiennej środowiskowej. Używana do wczytywania sekretów (kluczy API, haseł DB) z pliku .env zamiast z kodu.

getenv(string $name = "", bool $local_only = false): string|array|false

getenv zwraca wartość zmiennej środowiskowej o podanej nazwie. Jeśli zmienna nie istnieje, zwraca false. Wywołana bez argumentu zwraca tablicę wszystkich dostępnych zmiennych środowiskowych.

Parametr $local_only = true ignoruje zmienne ustawione przez serwer WWW (np. Apache) i zwraca tylko te z lokalnego środowiska — przydatne w specyficznych konfiguracjach serwerowych.

W nowoczesnych aplikacjach PHP sekrety trzyma się w pliku .env, który jest wczytywany przez bibliotekę taką jak vlucas/phpdotenv. Nigdy nie wklejaj haseł ani kluczy API bezpośrednio w kodzie źródłowym.

<?php
declare(strict_types=1);

// Odczyt zmiennej środowiskowej (np. z pliku .env):
$dsn      = getenv('DB_DSN');      // np. mysql:host=localhost;dbname=sklep
$dbUser   = getenv('DB_USER');     // np. root
$dbPass   = getenv('DB_PASSWORD'); // np. tajnehaslo123

if ($dsn === false) {
    throw new \RuntimeException('Brak zmiennej środowiskowej DB_DSN');
}

// Odczyt innej zmiennej:
$appEnv = getenv('APP_ENV') ?: 'production'; // domyślnie produkcja
echo "Środowisko: {$appEnv}";

// Sprawdź dostępne zmienne (przydatne przy diagnostyce):
// var_dump(getenv()); // zwraca tablicę wszystkich zmiennych
📘 Naucz się w lekcji →