1

我在带有 LAMP-Stack 的 debian 服务器上遇到了奇怪的行为。

这个简单的测试解释了我的问题:这是我的 test.php 脚本:

<?php
  $params = $_GET;
  print_r($params);
?>

如果我发出 url:http://localhost/test.php?arr[a]=1&arr[b]=2&arr[c]=3&test=xyz 我希望服务器返回:

    
大批
(
    [arr] => 数组
        (
            [一] => 1
            [b] => 2
            [c] => 3
        )
    [测试] => xyz
)

但我只得到:

大批
(
    [arr] => 数组
        (
            [一] => 1
        )
    [测试] => xyz
)

我检查了 php.ini、apache 配置等等。我不知道为什么没有正确处理参数。甚至我的

$_SERVER[REQUEST_URI]
变量显示正确的参数,但它们根本没有被处理。

有任何想法吗?

4

2 回答 2

1

你一定做错了什么:

当我打电话www.mysite.com/test.php?arr[a]=1&arr[b]=2&arr[c]=3&test=xyz

并做一个print_r($_GET);

我明白了

Array ( [arr] => Array ( [a] => 1 [b] => 2 [c] => 3 ) [test] => xyz )

更新

var_dump 的输出:

array(2) { 
  ["arr"]=> array(3) { ["a"]=> string(1) "1" ["b"]=> string(1) "2" ["c"]=> string(1) "3" }
  ["test"]=> string(3) "xyz" 
}
于 2012-10-26T15:25:05.263 回答
0

我终于弄清楚了问题所在:

这是 SUSE Enterprise Linux 上 PHP 5.3.8 中的一个错误。我让管理员升级到 PHP 5.3.17,这种不当行为消失了。

于 2012-11-02T09:42:14.017 回答