PHP中的max_input_vars指令一些介绍
PHP中的max_input_vars,PHP从5.3.9开始增长一个变量max_input_vars用来限制提交的表单数量了,咱们这边一块儿来看看吧。
今天接到客服部工做人员反馈的一个客户的问题,产品是容许用户添加一个产品属性的,而每一个属性是由多个表单域组成 ,这样当每添加一个属性就等于添加了n个表单域,这个客户添加的很是的多,发如今提交保存的时候老是失败,提示其中一个表单元素的索引值不存在,经测试是发现服务端接收的一些表单域丢失了一部分。起初分析的是服务器接收的数据超出了php设置的max_post_size(其实当时已经设置了8M,足够使用了),修改了测试发现此问题仍然存在。后来将用户原来的一些添加的表单元素进行删除,再从新添加一样数据库表单域能够成功,但一旦超出必定数量的表单域就会发生丢失的状况,这个时候首先怀疑的是apache是否有相似限制接收隐藏域的指令,找了没有找到,紧接着在php中批到一个max_input_vars这个指令,意思就是说php中容许接收的最大表单域数据,到目前为止基本上是肯定这个缘由引发的了,奖其修改成2000,重启Apache,发现一切正常。
修改php.ini中的max_input_vars参数限制提交的表单数量
好比phpmysqladmin读取数据库表,而后写入编辑,可是数据库字段有128个,而后每一个字段有11个input框,大概有1400多个input,而ax_input_vars默认值为1000.
修改php.ini里面加入max_input_vars
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 //每一个脚本的最大执行时间,以秒为单位
max_input_time = 60 //每一个脚本解析请求的数据可能花费的最大时间,以秒为单位
max_input_vars = 2000
memory_limit = 32M //每一个脚本可使用的最大内存,以M为单位,
总结:提起php中的max_input_vars 估计不多人知道这个这个指令,由于他的使用场景实在是太少了,在php.ini中这个指令的定义是指服务端最大能够接收的表单域的数量多少,默认是1000,这足够咱们平时使用了。但仍然有一些特殊的状况下须要修改此值的大小。
须要更多资讯能够关注时间财富网php