【发布时间】:2013-08-09 15:09:18
【问题描述】:
好的,首先;这在设置的一台服务器上 100% 可以正常工作,但在一个非常相似的服务器上却搞砸了——这就是为什么我认为它一定是某个地方的 IIS 问题——我只是不知道在哪里。
我有一个非常标准的 PHP 上传脚本,但它会一直锁定/冻结,然后在更大的文件(超过 250mb)上恢复。
没有错误返回,上传完成并且对于最大 4gb 的文件可以正常工作 - 但它需要很长时间。您可以在 tmp 文件上传时查看它们的大小,它会停止接收数据 - 有时一次持续几分钟,然后从上次中断的地方恢复并继续上传。
我在 IIS 中配置了以下内容:
CGI:
- 超时:00:30:00
- 活动超时:300000
- 空闲超时:300000
- 请求超时:300000
请求过滤:
- 允许的最大内容长度:4294967295
- 最大网址长度:4096
- 最大查询字符串:2048
PHP:
- post_max_size:4G
- upload_max_filesize: 4G
- max_execution_time: 300000
- max_file_uploads: 300000
- 最大输入时间:-1
- memory_limit:-1
我之前从脚本中收到错误,耗时过长,但是增加活动、空闲和请求时间已经解决了这个问题。上传工作正常,但需要永远。 我在另一个运行相同上传脚本的开发盒上具有完全相同的 IIS 设置,并且它运行完美 - 所以我不知道我错过了什么。
PHP 是 5.4.14。我在 PHP 错误日志或 Windows 事件查看器中一无所获(因为据我所知,实际上没有抛出任何错误。)
有人知道我在某处可能缺少哪些设置吗?
【问题讨论】:
-
这两个服务器是否位于同一网络上?
-
它们都可以被外界访问;出于测试目的,我们尝试从外部网络上传。结果还是一样。
标签: php performance iis post file-upload