php的超全局环境变量$_ENV是空的?

出于好奇 打印了下 $_ENV[“USER”] ,结果告诉我没有USER这个环境变量, 然后我在终端执行了一下 env , 明明看到有的
USER=hunter

然后我用 getenv(“USER”) , 妥妥的没问题,可以获取到。
那是怎么回事 ? 查了一下, 看到是因为 $_ENV受到php.ini文件中
variables_order这个选项的控制,这个选项的默认值是GPCS,把它改成EGPCS就可以了。

EGPCS的意思是:
E:ENV
G:GET
P:POST
C:COOKIE
S:SERVER
默认是没有E的,所以不会读取env 。

但是,getenv函数不会受这个影响,可以正常读取ENV的变量。

发表评论

邮箱地址不会被公开。 必填项已用*标注