我正在使用库PHP Dotenv来加载和设置环境变量,以便开发PHP应用程序。
我注意到“有时”Dotenv\Loader\getEnvironmentVariable()
在请求开始时调用时返回的内容不是null
。
这意味着Dotenv\Loader\setEnvironmentVariable()
“有时”设置的内容会在请求中持续存在。
这种情况在没有一致性的情况下发生,它只会出现在一些随机请求中,即使没有在不工作和工作请求之间发生了变化。
我尝试了很多不同的设置,这只发生在Windows + Apache上。
考虑以下几行:
$_ENV[$name] = $value;
$_SERVER[$name] = $value;
OPcache有可能是“罪魁祸首”吗?如果是这样,为什么只在Windows上?
或者apache_setenv()
设置的内容可能会在请求中持续存在? documentation在这方面并不十分明确。