出于好奇 打印了下 $_ENV[“USER”] ,结果告诉我没有USER这个环境变量, 然后我在终端执行了一下 env , 明明看到有的
USER=hunter
然后我用 getenv(“USER”) , 妥妥的没问题,可以获取到。
那是怎么回事 ? 查了一下, 看到是因为 $_ENV受到php.ini文件中
variables_order这个选项的控制,这个选项的默认值是GPCS,把它改成EGPCS就可以了。
1 |
variables_order = "EGPCS" |
EGPCS的意思是:
E:ENV
G:GET
P:POST
C:COOKIE
S:SERVER
默认是没有E的,所以不会读取env 。
但是,getenv函数不会受这个影响,可以正常读取ENV的变量。