![Windows Server 2012 R2 限制 php 中的请求数据](https://linux22.com/image/642591/Windows%20Server%202012%20R2%20%E9%99%90%E5%88%B6%20php%20%E4%B8%AD%E7%9A%84%E8%AF%B7%E6%B1%82%E6%95%B0%E6%8D%AE.png)
我主要使用基于 Linux 的服务器和 Sugarcrm。我的一位客户已在 Windows 服务器上部署了他的 suagrcrm 实例。SugarCrm 是一个 php 应用程序,我通常在 LAMP 堆栈下运行它,但它可以与 MS SQL 等配合使用。
无论如何,问题在于 Sugarcrm 实例中有一个包含分项行的发票模块。但不知何故,服务器阻止用户在一次保存中保存超过 47 个行项目。这在 Linux 下不会发生,因此服务器上一定存在限制 POST 数据或查询字符串长度的限制。或者可能是 MS SQL。日志中任何地方都没有显示错误,而且我已经增加了 php.ini 文件中的所有设置,所以这不可能是 php 问题。
有人知道这可能是什么原因造成的吗?
规格如下
Dell R520服务器
Windows Server 2012 R2
2 个英特尔至强 E5-2430 v2 @ 2.5ghz
32GB 内存
1x Raid 1 160gb 硬盘阵列 15k SAS 驱动器
2x Raid5 560gb 硬盘阵列 15k SAS 驱动器
Web 服务器配置为 IIS 8.5
PHP 5.4.24
MS SQL 服务器 2014
MS SQL Server 2012 本机客户端
答案1
您是否能够捕获其中一个请求的请求标头,并且是否有准确的 HTTP 响应代码?
如果你担心 POST 数据对于服务器设置来说可能太大,你可以在 web.config 中增加它。你可以查看完整的请求限制文档这里。
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="[new size in bytes]" />
</requestFiltering>
</security>
</system.webServer>