使用 IIS 在 Windows 服务器上上传 PHP 视频时出现 413 错误

问题描述

例如,对于 23 MB 的文件,视频上传工作正常,但是当我尝试 38 MB 的文件(或任何更大的文件)时,大约 10 或 15 秒后,它会失败并显示 413 错误

我已经使用以下设置修改了我的 PHP.ini:

memory_limit = 5000M
upload_max_filesize = 500M
post_max_size = 500M
max_input_time = 60

我通过查看 PHPinfo.PHP 确认这些设置有效。

我也进入了 IIS 并将 uploadReadAheadSize 从 49152 增加到 491520000 字节,然后重新启动了服务器。

机器本身运行的是带有 32 GB RAM 的 Windows Server 2016。

所有这些设置似乎都足以上传 38 MB 的文件,但我遇到了这个错误,它告诉我还有其他事情需要检查或调整。我意识到有类似的线索,但我已经尝试了所有建议的解决方案,但仍然无效,所以我需要一个不同的解决方案。

编辑:我的表单看起来像这样。

<form id='upload_video_form' enctype='multipart/form-data' style='height:0px;margin:0px'>
<input type='file' style='display:none' accept='video/*' name='upload_video_file' id='upload_video_file' />
<input type=hidden name=upload_video_companyid value=".$companyid.">
<input type=hidden name=upload_video_childid id=upload_video_childid value='".$childid."'>
<input type=hidden name=upload_video_reportid id=upload_video_reportid value='".$mediaid."'>
</form>

解决方法

网络服务器可能会定义低于该大小的“client_max_body_size”(nginx)或“LimitRequestBody”(Apache)之类的内容。

IIS 设置,根据这篇文章,是“maxAllowedContentLength”

https://www.inflectra.com/support/knowledgebase/kb306.aspx

PHP 设置仅在 网络服务器之后出现...

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...