PHP dotenv 本身不支持動態(tài)加載。當(dāng)你使用 PHP dotenv 時(shí),它會在腳本啟動時(shí)加載環(huán)境變量。如果在運(yùn)行過程中環(huán)境變量發(fā)生變化,你需要重新加載這些變量。
然而,你可以通過編寫一個(gè)自定義函數(shù)來實(shí)現(xiàn)動態(tài)加載環(huán)境變量。以下是一個(gè)示例:
require 'vendor/autoload.php';
use Dotenv\Dotenv;
function reloadEnv() {
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();
}
// 首次加載環(huán)境變量
reloadEnv();
// 在需要重新加載環(huán)境變量的地方調(diào)用 reloadEnv() 函數(shù)
在這個(gè)示例中,我們創(chuàng)建了一個(gè)名為 reloadEnv
的自定義函數(shù),它會重新加載環(huán)境變量。當(dāng)你需要動態(tài)加載環(huán)境變量時(shí),只需調(diào)用這個(gè)函數(shù)即可。請注意,這種方法可能會導(dǎo)致性能問題,因?yàn)槊看握{(diào)用 reloadEnv()
時(shí)都會讀取和解析 .env
文件。在生產(chǎn)環(huán)境中,建議避免頻繁調(diào)用此函數(shù)。