我正在尝试调试将数据POST到IIS(7.5)的Web应用程序中的问题,然后将其传递给PHP(5.3.5)应用程序(通过FastCGI)。
页面有一个动态表单,允许用户添加新字段,因此页面发布的键值对的数量会有所不同(表中每行有6个新的键值对)。一些用户完全疯了并添加了大量数据,这意味着在某些情况下,POST主体中有超过1,000个键值对。
看起来IIS,FastCGI或PHP都限制了POST正文中键值对的数量。 Fiddler告诉我浏览器正在发送所有1,000多对,但如果我使用PHP立即回显$ _POST中的每个键,则列表缩小。所有发布的值都包含数据,但即使它们没有,我也确定不应删除密钥。
谷歌搜索这个问题没有帮助,所以希望有人在这里有经验。澄清:
对此的任何想法都将非常感谢!
答案 0 :(得分:3)
最终答案来自this thread
PHP的max_input_vars
是问题
答案 1 :(得分:0)
IIS有其他帖子中的请求限制:
Is there a limit to POST over HTTPS for IIS 7?
好像你在做动态表格。我建议您查看Google文档中的“表单”,并考虑通过AJAX将部分内容更新到服务器端。这将消耗更多带宽和连接的稳定性,但它将解决您的1000或1005限制。
另一种方法,控制用户期望并设置上限。