nginx.conf
#keepalive_timeout 60;#send_timeout 3m;client_max_body_size 500m;php.ini
max_execution_time = 600max_input_time = 600memory_limit = 32mfile_uploads = onupload_tmp_dir = /tmpupload_max_filesize = 32mpost_max_size = 32mphp-fpm.conf
<value name="rlimit_files">65535</value><value name="request_terminate_timeout">0s</value>google一下,原来PHP从5.3.9开始增加一个变量 max_input_vars 用来限制提交的表单数量,折腾了半天,原来php小版本升级引起的不兼容,php中默认post中的参数的个数是1000, 超过部分会被自动扔掉。用 phpinfo()查看max_input_vars。如下图所示:
解决方法很简单,在PHP.ini中设置 max_input_vars = 5000
php.ini 文件里的 max_input_vars 默认值为 1000, 正常情况下够用,偶尔遇到我这种提交2000多个表单的情况还是比较少见的,不过,如果发现提交表单个数不全的情况,可以试试修改这个配置。
tags: php post 数据被截取, php post 数据不完整, php post 丢失数据