PHP $ _POST限制

时间:2013-10-01 05:00:56

标签: php jquery arrays post

我通过JSON array从jscript向PHP发送jQuery $.post()。它是一个3-4位数的表,其大小为174 x 15(行x列)。检查XHR Post时。我可以看到所有的值,如

pdata[0][]  dates
pdata[0][]  Fund B1
pdata[0][]  Fund B2
pdata[0][]  Fund B3
pdata[0][]  Fund B4
pdata[0][]  Fund B5
pdata[0][]  Fund B6
pdata[0][]  Fund B7
pdata[0][]  Fund B8
pdata[0][]  Fund B9
pdata[0][]  Fund B10
pdata[0][]  Fund B11
pdata[0][]  Fund b12
pdata[0][]  Fund B13
pdata[100][]    4/30/2005
pdata[100][]    -3.16%
pdata[100][]    -3.54%
pdata[100][]    -0.52%

请注意,第一个索引按字母顺序排序,而不是数字排序。然后我在PHP中处理该数组

$pdata  = $_POST['pdata']; 
print_r($pdata);

问题是大约有一半的数据丢失而且$pdata只有大约72个元素(数组)而不是174.我以为它与PHP post_max_size有关并将其增加到30Mb,但没有帮助。

还有什么可以截断数组?

感谢。

4 个答案:

答案 0 :(得分:1)

max_input_vars是您正在寻找的指令。

默认情况下,它是1000,与您的观察结果相匹配(“约72个元素”=>类似71x14 + 6)。

答案 1 :(得分:1)

我有同样的问题,为了解决这个问题,我将这一行添加到了我的htaccess文件中。

php_value max_input_vars 15000

您可以将15000值更改为适合您需要的值。

答案 2 :(得分:0)

增加

suhosin.post.max_vars = 2048
suhosin.request.max_vars = 2048

在php.ini上并重新启动服务器

您也可以将其添加到.htaccess文件中(在这种情况下无需重启服务器) 但是你必须这样做 检查是

suhosin.perdir = "p"

在php.ini

上设置

你可以使用

检查php.ini配置默认变量
 phpinfo();

答案 3 :(得分:0)

我建议您在php.ini

中增加关注值
post_max_size = 200M
upload_max_filesize = 200M

您可以设置适合您需要的值。

注意:更改php.ini中的设置后,必须重新启动服务器。