传递的数组会丢失除第一个元素以外

cpa*_*lik 8 php arrays post get

我有一个奇怪的问题.我最近将我的应用程序从本地xampp安装迁移到SUSE Enterprise Server 11,一切正常,但这一件事让我发疯,我找不到解决方案.

使用以下语法通过GET或POST传递数组时:

search_dggs.php?latmin[]=52.447529&latmin[]=22&lonmin=17.56&lonmax=22.16
Run Code Online (Sandbox Code Playgroud)

我只得到了latmin的第一个元素.请注意,这只是我在其他需要传递数组的地方发生错误后尝试的一个简单示例.

print_r($_SERVER["QUERY_STRING"]); 
Run Code Online (Sandbox Code Playgroud)

输出

latmin[]=52.447529&latmin[]=22&lonmin=17.56&lonmax=22.16
Run Code Online (Sandbox Code Playgroud)

print_r($_GET);
Run Code Online (Sandbox Code Playgroud)

Array
(
    [latmin] => Array
        (
            [0] => 52.447529
        )

    [lonmin] => 17.56
    [lonmax] => 22.16
)
Run Code Online (Sandbox Code Playgroud)

所有POST请求都完全相同.

我正在使用PHP版本5.3.8.我想问题是一些服务器配置,但我找不到任何关于这个问题.

回复评论:

如果我提交任意数量的变量,也会发生同样的情况

parse_str($_SERVER["QUERY_STRING"]);
print_r($latmin);
Run Code Online (Sandbox Code Playgroud)

Array
(
    [0] => 52.447529
)
Run Code Online (Sandbox Code Playgroud)

php.ini可以在这里找到

您应该能够在此处查看行为

这个php文件的源文件是

<?php

    $test="latmin[]=52.447529&latmin[]=22&lonmin=23&lonmax=22.16";
    parse_str($test);
    print_r($latmin);
    phpinfo();

?>
Run Code Online (Sandbox Code Playgroud)

cpa*_*lik 5

那么我的系统管理员进行了系统更新和重新启动,现在问题已解决.没有更改配置文件.


gsp*_*tel 4

在我的服务器上进行了测试,它对我来说效果很好:

_GET["latmin"]  

Array
(
    [0] => 52.447529
    [1] => 22
)
Run Code Online (Sandbox Code Playgroud)

查看 php.ini 中的数据处理部分并查看值是什么。将所有内容重置为默认值,重新启动网络服务器并重试。 PHP.ini 数据处理默认值