php post的表单字段数量超1000提失失败:max_input_vars
我用ajax post提交一个json到php,接收到的post数组出现丢失,数组的数量少了好多。
百度,google,bing…….此处省略。
原来是php.ini配置中的max_input_vars参数限制了,默认是1000,表单字段数量超1000就是这种情况。
1.修改php.ini
max_input_vars 1000
2.修改.htaccess
如果apache支持配置htaccess,加上
php_value max_input_vars 10000
有的虚拟空间不支持,会出现500错误。比较坑
3.降php版本
max_input_vars是在php 5.3.9之后才有的参数。把php版本降到php5.2就可以。
有的虚拟空间支持版本切换
可以考虑自定义个函数来替代,这样就不怕被限制了1000个,不过也要考虑安全原因。
/** * 替代 parser_str($query, $output) * @return array $output **/ function parseQuery($string){ $return = array(); $pairs = explode( '&', $string ); foreach ($pairs as $pair){ list( $k, $v ) = array_map( 'urldecode', explode( '=', $pair ) ); list( $k, $index) = preg_split( "/[][]/", $k ); if( isset($index) ){ //echo "$k , $index, $v\n\n"; $return[$k][$index] = addslashes($v); }else{ //echo "$k , $v\n\n"; $return[$k] = addslashes($v); } } return $return; } $string = "q=1&d[1]=3&d[2]=4&c[h1]=2&c[h2]=tad"; print_r( parseQuery( $string ) );
~~完
有点相关的文章
- PHP 正则表达式 (0.500)
- php将HTML转换为txt文本的函数 (0.500)
- PHP 截取字符串专题 (0.500)
- PHP 计算页面执行时间 (0.500)
- 去掉特定长度的短序列&取motif上下游一定长度的序列 (0.500)
- BioPerl指南 - 序列格式的转换 (RANDOM - 0.500)
不支持切换php 麻烦
大神求更新插件。php7用不成,点击生成就是空白页,
刚开始学,有点难