【发布时间】:2012-10-26 15:19:56
【问题描述】:
我在使用 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
我希望服务器返回:
但我只得到:
大批 ( [arr] => 数组 ( [一] => 1 ) [测试] => xyz )我检查了 php.ini、apache 配置等等。我不知道为什么没有正确处理参数。 甚至我的
$_SERVER[REQUEST_URI]变量显示了正确的参数,但它们根本没有被处理。
有什么想法吗?
【问题讨论】:
-
您是否尝试对 URI 进行编码?如果我没记错的话,'[' 和 ']' 如果它们是通过表单发送的,它们将被浏览器编码。
-
您是否尝试将
&amp;替换为&amp;? -
如果我没记错的话,在某些 PHP 版本中,
parse_str中有一个错误。我以前在这里看到过这个问题... -
这可以解决您的 $_SERVER[REQUEST_URI] 问题。 davidwalsh.name/iis-php-server-request_uri
-
解决这个问题的一个建议是:内爆数组,对其进行urlencode并将其传递给URL
标签: php arrays apache parameters