这可能是问我关于php和apache的问题的更好方法。我有两个服务器,当我从php中print_r($GLOBALS)
时,它们有非常不同的全局变量。差异如下。有人能解释一下为什么测试服务器调用没有显示任何_SERVER
设置吗?
------------运行Ubuntu 13.10-的测试服务器的配置
Array
(
[_GET] => Array
(
[r] => 2
)
[_POST] => Array
(
)
[_COOKIE] => Array
(
[__utma] => etc
)
[_FILES] => Array
(
)
[GLOBALS] => Array
*RECURSION*
)
--------运行Ubuntu 12.04----------------的生产服务器的配置
Array
(
[GLOBALS] => Array
*RECURSION*
[_POST] => Array
(
)
[_GET] => Array
(
[r] => 1
)
[_COOKIE] => Array
(
[__utma] => etc
)
[_FILES] => Array
(
)
[_REQUEST] => Array
(
[r] => 1
)
[_SERVER] => Array
(
[HTTPS] => on
[SSL_TLS_SNI] => tgg.xxx.com
[HTTP_HOST] => tgg.xxx.com
[HTTP_USER_AGENT] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:27.0) Gecko/20100101 Firefox/27.0
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.5
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_COOKIE] => xxx
[HTTP_CONNECTION] => keep-alive
[PATH] => /usr/local/bin:/usr/bin:/bin
[SERVER_SIGNATURE] =>
Apache/2.2.22 (Ubuntu) Server at tgg.xxx.com Port 443
[SERVER_SOFTWARE] => Apache/2.2.22 (Ubuntu)
[SERVER_NAME] => tgg.xxx.com
[SERVER_ADDR] => 192.241.179.123
[SERVER_PORT] => 443
[REMOTE_ADDR] => 67.79.197.222
[DOCUMENT_ROOT] => /var/www/xxx
[SERVER_ADMIN] => [no address given]
[SCRIPT_FILENAME] => /var/www/xxx/index.php
[REMOTE_PORT] => 60665
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] => r=1
[REQUEST_URI] => /index.php?r=1
[SCRIPT_NAME] => /index.php
[PHP_SELF] => /index.php
[REQUEST_TIME] => 1395338407
)
[ignoreAuth] => 1
)
检查两个php.ini
文件是否相同。php.ini核心指令允许您获取/设置php设置配置。因此,在使用print_r(...)
之前,请尝试设置auto-globals-jut = 1
请参阅此链接