php post 数组貌似被截断

mako 发布于 2015/03/05 11:21
阅读 2K+
收藏 1
PHP

不知道为什么,我在服务器post提交的数据的时候,数组被截断

数组格式:


["goods"] => array(83) {
    [1] => array(11) {
      ["barcode"] => string(15) "HP1418872329796"
      ["name"] => string(3) "盐"
      ["specifications"] => string(4) "1*50"
      ["category_desc"] => string(9) "调味品"
      ["category_id"] => string(2) "70"
      ["unit"] => string(3) "袋"
      ["remainder"] => string(5) "20.00"
      ["act_number"] => string(5) "20.00"
      ["act_price"] => string(4) "1.80"
      ["act_amount"] => string(5) "36.00"
      ["remark"] => string(0) ""
    }}

就这样一个数组提交上来,读出POST只能读取91,后面就没了。我又在post里加了一个数组,这时候goods数组只能读取例如83个。

貌似post有字数限制一样,本地没有这个问题,我也调整了服务器php.ini的post_max_size也不光用


以下是问题补充:

@mako:修改了 nginx 的 client_max_body_size 100m; 也不管用 (2015/03/05 11:49)
@mako:很诡异,也不是按完全字符截取,到了那个点从数组中就截断了,而且整个数组还是完整的,例如: [90] => array(11) { ["barcode"] => string(20) "HP201501183912726609" ["name"] => string(9) "茶树菇" ["specifications"] => string(0) "" ["category_desc"] => string(6) "蔬菜" ["category_id"] => string(2) "74" ["unit"] => string(3) "斤" ["remainder"] => string(6) "397.40" ["act_number"] => string(6) "397.40" ["act_price"] => string(5) "11.29" ["act_amount"] => string(7) "4490.16" ["remark"] => string(0) "" } [91] => array(1) { ["barcode"] => string(20) "HP201501212112156870" } (2015/03/05 12:55)
加载中
0
mako
mako
急啊,高手快帮看下
0
彭彭大哥
彭彭大哥
php.ini 改一个配置
mako
mako
memory_limit 128m upload_max_filesize 8m post_max_size 8m 都不起作用
0
聽雨人
聽雨人
曾经有一个针对PHP数组哈希的攻击的,php一怒,就加了一个max_input_vars,限制了数组的大小。你11*91加上其他的,过了这个限制了。
改大这个限制,就不能声张,免得被攻击。
最好还是把数据变成一个json传过去,接受的时候再解回来吧。
r
rav3n
回复 @mako : 我之前也遇到类似问题,去php.ini修改max_input_vars的值吧
聽雨人
聽雨人
回复 @mako : 我不认为这里面有什么难的,可能就麻烦点而已
mako
mako
回复 @甘薯 : 是没想从前端提交,本身前端都是自动生成+添加+计算+条件判断的出来的表单,很复杂,在提交的时候又不知道有什么方法可以很好的把表单打包成JSON,前端我用ajaxform提交
mako
mako
试了,不好实现呀,我做的是ERP啊,表单数据还是蛮庞大的,变成JSON在提交挺头疼的
甘薯
甘薯
回复 @聽雨人 : 楼主这位亲看来的确没看懂叫他提交json字符串是什么意思...
下一页
0
mark35
mark35

修改 php.ini:

max_input_vars = 2000

0
mako
mako
max_input_vars PHP5.3没有这个设置项啊, 文档里也找不到
0
Legend_x
Legend_x
http://php.net/manual/zh/info.configuration.php#ini.max-input-vars
返回顶部
顶部