Skip to content

Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automatically.

License

Notifications You must be signed in to change notification settings

lazervel/dotenv

Repository files navigation

PHP Dotenv

Loads environment variables from .env to getenv(), $_ENV and $_SERVER automatically.

Banner

Total Downloads Latest Version

Installation

Installation is super-easy via Composer

composer require envs/dotenv

or add it by hand to your composer.json file.

Usage

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

If already .env file existing on current directory

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

If already .env file existing on current directory without throwing error

$dotenv = Dotenv::process(__DIR__);
$dotenv->safeLoad();

If already .env file existing on current directory

$dotenv = Dotenv::process(__DIR__, 'myconfig.env');
$dotenv->load();

Loads multiple .env files.

$dotenv = Dotenv::process(__DIR__, ['.env.local', '.env.example', '.env'], false);
$dotenv->load();

All of the defined variables are now available in the $_ENV and $_SERVER super-globals.

$s3_bucket = $_ENV['S3_BUCKET'];
$s3_bucket = $_SERVER['S3_BUCKET'];

Nesting Variables

It's possible to nest an environment variable within another, useful to cut down on repetition.

This is done by wrapping an existing environment variable in ${…} e.g.

BASE_DIR="/var/webroot/project-root"
CACHE_DIR="${BASE_DIR}/cache"
TMP_DIR="${BASE_DIR}/tmp"

Requiring Variables to be Set

PHP dotenv has built in validation functionality, including for enforcing the presence of an environment variable. This is particularly useful to let people know any explicit required variables that your app will not work without.

You can use a single string:

$dotenv->required('DATABASE_DSN');

Or an array of strings:

$dotenv->required(['DB_HOST', 'DB_NAME', 'DB_USER', 'DB_PASS']);

Security

If you discover a security vulnerability within this package, please send an email to [email protected] All security vulnerabilities will be promptly addressed. You may view our full security policy here.

License

PHP dotenv is licensed under MIT License.

About

Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automatically.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages