根据http://www.php.net/manual/en/reserved.variables.globals.php:
一个关联数组,包含对当前在脚本全局范围内定义的所有变量的引用。
因此,以下代码必须显示 $GLOBALS var 具有_SERVER
, _ENV
(如果在 php.ini 中的 variables_order 中启用)和_REQUEST
键:
var_dump($GLOBALS);
结果是:
- nginx + php-fpm 下:缺少
_SERVER
,_ENV
,_REQUEST
- 在 cli 下:缺少
_ENV
,_REQUEST
嗯..也许文档中有关于这种行为的信息?我浏览了每个变量的每一页:
_SERVER
:http ://www.php.net/manual/en/reserved.variables.server.php_ENV
:http ://www.php.net/manual/en/reserved.variables.request.php_REQUEST
:http ://www.php.net/manual/en/reserved.variables.request.php
而且我没有发现任何关于这种行为的提及。为什么它会这样工作?
我已经使用来自http://www.dotdeb.org/ repo的 debian 包安装了 php (没有手动编译)......目前使用 nginx + php5-fpm 运行。这是一个php错误吗?