我在使用LAMP-Stack的debian服务器上遇到了奇怪的行为。
这个简单的测试解释了我的问题: 这是我的test.php脚本:
<?php
$params = $_GET;
print_r($params);
?>
如果我发出网址:http://localhost/test.php?arr[a]=1&arr[b]=2&arr[c]=3&test=xyz
我希望服务器返回:
Array ( [arr] => Array ( [a] => 1 [b] => 2 [c] => 3 ) [test] => xyz )
但我只得到:
Array ( [arr] => Array ( [a] => 1 ) [test] => xyz )
我检查了php.ini,apache配置等等。我没有clou为什么没有正确处理参数。 即使我的
$_SERVER[REQUEST_URI]变量显示正确的参数,但它们也不会被处理。
有什么想法吗?
答案 0 :(得分: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"
}
答案 1 :(得分:0)
我终于想出了问题:
这是SUSE Enterprise Linux上的PHP 5.3.8中的错误。 我让管理员升级到PHP 5.3.17,这种不当行为消失了。