公司项目php5.1升级php8.1,测试时,一个大表单提交到后台,接受的参数不全,打印$_POST,发现数据将被自动截断。用浏览器开发者工具检查,post提交参数却都是存在的,
最后百度发现:
PHP从5.3.9开始增加了一个变量max_input_vars,用来提交限制表单数量。
php.ini中max_input_vars默认为1000。
将网络中的载荷里所有提交的参数拷贝到编辑器里,发现超过1000行了。
将限制数值改大到10000,重启php-fpm就能正常提交了。
ubuntu系统:
vi /etc/php/8.1/fpm/php.ini
service php8.1-fpm reload
虽然修改限制的方式治标不治本,最好还是从源头上改变,提交数据时,将数据整合好,去除不必要的参数,可以将传输的变量转换成json,后台接受后转换成数组。
最后百度发现:
PHP从5.3.9开始增加了一个变量max_input_vars,用来提交限制表单数量。
php.ini中max_input_vars默认为1000。
将网络中的载荷里所有提交的参数拷贝到编辑器里,发现超过1000行了。
将限制数值改大到10000,重启php-fpm就能正常提交了。
ubuntu系统:
vi /etc/php/8.1/fpm/php.ini
service php8.1-fpm reload
虽然修改限制的方式治标不治本,最好还是从源头上改变,提交数据时,将数据整合好,去除不必要的参数,可以将传输的变量转换成json,后台接受后转换成数组。
版权声明:《 max_input_vars导致PHP最大表单提交变量上限1000解决方法 》为zhangkang原创文章,转载请注明出处!
最后编辑:2022-6-18 10:06:14