PHP dotenv 庫本身不直接支持多種環境變量格式。但是,你可以通過一些方法實現這個需求。
一種方法是使用多個 .env
文件,每個文件包含不同環境的變量。例如,你可以創建一個 .env.development
文件用于開發環境,一個 .env.production
文件用于生產環境。然后,根據當前環境加載相應的文件。
首先,安裝 PHP dotenv 庫:
composer require vlucas/phpdotenv
接下來,在項目根目錄下創建兩個 .env
文件,分別為 .env.development
和 .env.production
。在這些文件中添加環境變量:
.env.development
:
APP_ENV=development
APP_DEBUG=true
.env.production
:
APP_ENV=production
APP_DEBUG=false
然后,在項目的入口文件(例如 index.php
)中,根據當前環境加載相應的 .env
文件:
<?php
require 'vendor/autoload.php';
$environment = getenv('APP_ENV') ?: 'development';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, ".env.{$environment}");
$dotenv->load();
// 其他代碼...
這樣,根據不同的環境,PHP dotenv 會加載不同的 .env
文件。你可以通過設置 APP_ENV
環境變量來切換環境。例如,在命令行中運行:
export APP_ENV=production
或者在 Apache 或 Nginx 配置中設置環境變量。