理解 $_ENV 之谜:为什么它保持为空
解开空 $_ENV 变量之谜的任务从探索开始php.ini 中经常被忽视的设置:variables_order。默认情况下,此设置配置为“GPCS”,其中不包括“E”(ENV)。因此,使用“SetEnv”设置的任何环境变量都会成为孤儿,无法将其放入 $_ENV。
要解决此问题,只需在 php.ini 中将变量_order 设置为“EGPCS”,其中包括缺少的“E. ”一旦进行此调整,$_ENV将不再处于荒凉状态。
此外,值得注意的是SetEnv主要填充$_SERVER,而不是$_ENV。这有点误导,但它解释了为什么你的变量最终驻留在 $_SERVER 中,而不是 $_ENV。
最后, getenv 函数充当可靠的逃生舱。它仍然不受 $_ENV 配置的设置影响,甚至提供对环境变量的不区分大小写的访问。
总之,调用环境变量的神奇公式涉及修改 php.ini 中的variables_order。将其设置为“EGPCS”,您的 $_ENV 将不再为空。请记住,getenv 仍然是一个值得信赖的伴侣,随时准备解锁那些难以捉摸的环境变量,不区分大小写且无忧无虑。
以上是为什么我的 $_ENV 变量为空以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!