前段时间参与开发一个APP的API,其中有一个功能就是将客户端的通讯录通过JSON ,POST请求API,期初在测试的时候没发现什么问题,后来有个客户测试的时候出现上传的数据不完整,报出异常错误。后来排查日志,发现post接受到的数据不完整。不管一次传递1000条还是2000条,日志里面只显示300多条记录。

经过了一下午的折腾,最后发现post过来的json数据包是被PHP默认截断了。原因跟一个参数有关系。 php.ini 文件里的  max_input_vars 。这个是PHP5.3.9之后开始增加的一个变量。

max_input_vars,指的是表达提交的数量,默认值为 1000。官方添加这个变量的目的是为了更好的保护服务器不受攻击。避免堵塞。

修改完之后,需要修改重启一下php-fpm

service   php-fpm  stop

service   php-fpm  start

重启php-fpm之后,max_input_vars就生效,是不是问题就解决了呢?

 

 

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

请选择吧!