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

413 Error on PHP Video Upload on Windows Server with IIS

例如,对于 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 字节,然后重新启动了服务器。

机器本身是 运行 Windows Server 2016 with 32 GB RAM.

所有这些设置似乎都足以上传一个 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>

Web 服务器可能会定义小于该大小的“client_max_body_size”(nginx) 或“LimitRequestBody”(Apache)。

根据本文,IIS 设置为“maxAllowedContentLength”

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

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

hth