HTTP POST到IIS& PHP - 键/值对限制?

时间:2012-06-07 02:26:39

标签: php http iis http-post key-pair

我正在尝试调试将数据POST到IIS(7.5)的Web应用程序中的问题,然后将其传递给PHP(5.3.5)应用程序(通过FastCGI)。

页面有一个动态表单,允许用户添加新字段,因此页面发布的键值对的数量会有所不同(表中每行有6个新的键值对)。一些用户完全疯了并添加了大量数据,这意味着在某些情况下,POST主体中有超过1,000个键值对。

看起来IIS,FastCGI或PHP都限制了POST正文中键值对的数量。 Fiddler告诉我浏览器正在发送所有1,000多对,但如果我使用PHP立即回显$ _POST中的每个键,则列表缩小。所有发布的值都包含数据,但即使它们没有,我也确定不应删除密钥。

谷歌搜索这个问题没有帮助,所以希望有人在这里有经验。澄清:

  1. 重新设计应用程序可能会在桌面上,但仅作为最后的手段
  2. 发布的数据量仍然很小 - 整个请求大约为50kb
  3. 神奇的数字似乎在1000左右(也许是1,005,但测试有点像猪,所以我不能完全肯定地说)
  4. 对此的任何想法都将非常感谢!

2 个答案:

答案 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限制。

另一种方法,控制用户期望并设置上限。