我有个奇怪的问题。我最近将我的应用程序从我本地的xampp安装迁移到了SUSE Enterprise Server11,一切都正常,但这件事让我抓狂,我找不到解决方案。
使用以下语法通过GET或POST传递数组时:
search_dggs.php?latmin[]=52.447529&latmin[]=22&lonmin=17.56&lonmax=22.16我只得到了latmin的第一个元素。请注意,这只是我在其他需要传递数组的地方发生错误后尝试的一个简单示例。
print_r($_SERVER["QUERY_STRING"]); 输出
latmin[]=52.447529&latmin[]=22&lonmin=17.56&lonmax=22.16但
print_r($_GET);给出
Array
(
[latmin] => Array
(
[0] => 52.447529
)
[lonmin] => 17.56
[lonmax] => 22.16
)所有POST请求都会发生完全相同的情况。
我使用的是PHP版本5.3.8。我猜问题出在一些服务器配置上,但是我找不到任何关于这个问题的东西。
回复评论:
如果我提交任意数量的变量,也会发生同样的情况。
parse_str($_SERVER["QUERY_STRING"]);
print_r($latmin);给出
Array
(
[0] => 52.447529
)可以在here上找到php.ini
您应该能够看到操作here中的行为
此php文件的源文件是
<?php
$test="latmin[]=52.447529&latmin[]=22&lonmin=23&lonmax=22.16";
parse_str($test);
print_r($latmin);
phpinfo();
?>发布于 2012-04-12 22:48:55
我的系统管理员进行了系统更新和重启,现在这个问题已经解决了。未更改任何配置文件。
https://stackoverflow.com/questions/10026198
复制相似问题