我有一个奇怪的问题。我最近将我的应用程序从本地 xampp 安装迁移到 SUSE Enterprise Server 11,一切正常,但这件事让我抓狂,我找不到解决方案。
使用以下语法通过 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
)
php.ini 可以在这里找到
您应该能够在此处看到实际行为
这个php文件的源文件是
<?php
$test="latmin[]=52.447529&latmin[]=22&lonmin=23&lonmax=22.16";
parse_str($test);
print_r($latmin);
phpinfo();
?>