Start · Sprachen · PHP · Snippets · Environment-Variablen sicher lesen

Environment-Variablen sicher lesen

Umgebung & Konfig

Secrets gehören in .env, nicht in den Code. In Laravel/Symfony schon eingebaut — Vanilla-PHP mit vlucas/phpdotenv.

Code

<?php

declare(strict_types=1);

// Mit vlucas/phpdotenv (composer require vlucas/phpdotenv)
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();

// Pflicht-Werte erzwingen
$dotenv->required(['DB_HOST', 'DB_USER', 'STRIPE_SECRET']);

// Lesen
$dbHost   = $_ENV['DB_HOST'];
$stripe   = $_ENV['STRIPE_SECRET'] ?? throw new RuntimeException('STRIPE_SECRET fehlt');
$debug    = filter_var($_ENV['APP_DEBUG'] ?? 'false', FILTER_VALIDATE_BOOLEAN);