• PHP max_input_var设为了1000导致post数组太多时无法接受后面的参数值


    PHP max_input_var设为了1000导致post数组太多时无法接受后面的参数值

     

    下午突然接到格力电话说无法批量设置门店任务,但是在测试环境下无法重现,测试环境下好好的。

    然后登陆到生产环境下,选择了几个保存也是正常的。但是当全部提交的时候就会不行了,num参数后台接收不到

    我分析了传入的报文,是有这个参数的,但是后台拿不到,这个就很诡异。在生产环境上打了断点来调试,没看出什么情况。

    后面查看源代码时留意到post过来的array只有999

    有没有这么巧呀,只有999家门店?去后台看了一下,有两千多家门店

    问题是定位到了,但是为什么post不了这么多条数据呢?

    先是把form的enctype默认是application/x-www-form-urlencoded。我以为因为这个传法只能传1000以内的,所以改成了multipar/form-data。问题没有解决

     

    然后面向百度编程。查资料,发现php有个配置max_input_var是限制input数量的。我把这个改成了1万。提交,成功,哈,三个多小时就这么过去了。

     

    总结:

    在php的配置文件里有很多配置项。理解这些配置项有助于调优php。并能解决很多诡异的问题。

    相近的配置还有:

    max_execution_time = 600

    max_input_time = 600

    memory_limit = 32m

    file_uploads = on

    upload_tmp_dir = /tmp

    upload_max_filesize = 32m

    post_max_size = 32m

     

    在nginx中相近的配置有:

    keepalive_timeout  60;

    send_timeout 3m;

    client_max_body_size 500m;

     

    nginx和php的配置要经常要关联在一起调

     
    作者:WinsonXu 出处: http://winsonxu.cnblogs.com/ 微信winsonhsu 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得还有帮助的话,可以点一下右下角的【推荐】,希望能够持续的为大家带来好的技术文章!想跟我一起进步么?那就【关注】我吧。
  • 相关阅读:
    数组的学习——有序数组中插入及删除数值的问题分析
    关于控制台输入年月,显示该月日历的问题分析
    关于控制台的输入,分支结构及循环的用法的一些总结
    坚持学习,坚持写博客,记录学习的点点滴滴,先从学习JAVA开始!
    Immutable Object模式
    Windows GIT SSH 免密教程
    腾讯云服务器购买
    Centos7系统中安装JDK、Tomcat、Mysql
    SonarQube使用教程
    UEditor使用说明
  • 原文地址:https://www.cnblogs.com/winsonxu/p/11614651.html
Copyright © 2020-2023  润新知