PHP dotenv 本身不支持动态加载。当你使用 PHP dotenv 时,它会在脚本启动时加载环境变量。如果在运行过程中环境变量发生变化,你需要重新加载这些变量。
然而,你可以通过编写一个自定义函数来实现动态加载环境变量。以下是一个示例:
require 'vendor/autoload.php';
use Dotenv\Dotenv;
function reloadEnv() {
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();
}
// 首次加载环境变量
reloadEnv();
// 在需要重新加载环境变量的地方调用 reloadEnv() 函数
在这个示例中,我们创建了一个名为 reloadEnv
的自定义函数,它会重新加载环境变量。当你需要动态加载环境变量时,只需调用这个函数即可。请注意,这种方法可能会导致性能问题,因为每次调用 reloadEnv()
时都会读取和解析 .env
文件。在生产环境中,建议避免频繁调用此函数。