服务器上的文件上传 404 错误

Posted

技术标签:

【中文标题】服务器上的文件上传 404 错误【英文标题】:File upload 404 error on server 【发布时间】:2016-07-10 15:14:51 【问题描述】:

我有一个 php 文件上传器,我们每天使用它来上传大约 10-15 个 5mb 的图像。我在本地有图像上传器,我可以很好地上传图像。我更改了 php.ini 中的所有设置,以确保我有正确的限制。

现在,我已将上传程序放在 Windows 服务器上,它具有相同的设置,但有时(并非总是)当我上传 10-15 张图像时,它会达到 97% 并引发 404 未找到文档错误。

有没有人知道为什么会发生这种情况?这几天我一直在尝试解决这个问题,这真的很令人沮丧。我在 iis 上使用 php 5.6。

【问题讨论】:

您在进行这些php.ini 更改后是否重新启动了 IIS?听起来仍然达到了上传限制(假设 Windows Server 使用的是 IIS)。 这很奇怪,当我过去达到上传限制时,我收到一条错误消息,指出找不到 404。 这就是 IIS 的运行方式,如果达到限制,它将返回 404:(HTTP Error 404.13 - CONTENT_LENGTH_TOO_LARGE)。您需要增加requestLimits.maxAllowedContentLength(错误日志是否证实了这一点?)。 【参考方案1】:

当 POST 长度过大时,IIS 返回 404 错误:

HTTP 错误 404.13 - CONTENT_LENGTH_TOO_LARGE

您需要使用参数增加文件上传限制:

requestLimits.maxAllowedContentLength

这两个项目的详细信息都在 IIS 网站上: https://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits

【讨论】:

谢谢,我进入 IIS 并单击网站,然后单击右侧的请求过滤 > 编辑功能设置,然后更改最大内容长度。这行得通。 帮我修好了,我在任何地方都找不到这个【参考方案2】:

对我来说,它既不是 PHP 也不是 php.ini 中最大文件大小设置的任何设置。

另一方面,IIS 限制了上传后的大小。

要更改,请在 IIS 管理器中访问您的网站 点击请求过滤 在右侧窗格中选择编辑功能设置 将最大允许内容长度更改为您想要的字节长度,即最大值(我们使用 100MB 或 104857600 字节)

【讨论】:

以上是关于服务器上的文件上传 404 错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 CSOM 404 未找到错误通过 Windows 服务将文件上传到 SharePoint 2010

尝试将生成的 pdf 文件上传到 Azure Blob 存储时出现 404 错误

Django 项目设置 Debug=False 后静态文件和上传文件404错误问题解决

文件上传 Angular 2+ 后 GET 错误 404

C#客户端用WebClient上传文件至IIS服务器,报错:远程服务器返回错误: (404) 未找到

struts2中上传文件时报404错误