好的,首先;这在一台服务器上可以100%正常工作,但在一台非常相似的服务器上却一团糟——这就是为什么我认为它一定是IIS问题——我只是不知道在哪里。
我有一个非常标准的PHP上传脚本,但它不断锁定/冻结,然后在较大的文件(超过250mb)上恢复
没有错误返回,上传确实完成了,对于4gb以下的文件来说效果很好,但这需要很长时间。你可以在上传tmp文件时观察它们的大小,它会停止接收数据——有时一次几分钟,然后从停止的地方重新开始,继续上传。
我在IIS中配置了以下内容:
CGI:
- 超时:00:30:00
- 活动超时:300000
- 空闲超时:300000
- 请求超时:300000
请求筛选:
- 允许的最大内容长度:4294967295
- 最大URL长度:4096
- 最大查询字符串:2048
PHP:
- post_max_size:4G
- upload_max_filesize:4G
- 最大执行时间:300000
- 最大文件加载:300000
- 最大输入时间:-1
- 内存限制:-1
我之前从脚本中得到的错误花费了太长时间,但是增加"活动"、"空闲"answers"请求"时间已经解决了这个问题。上传确实很好,但需要永远。我在另一个运行相同上传脚本的开发箱上有完全相同的IIS设置,它运行得很完美——所以我不知道我缺少了什么。
PHP为5.4.14。我在PHP错误日志或Windows事件查看器中一无所获(因为据我所知,实际上没有抛出任何错误)
有人知道我可能会错过什么设置吗?
好吧,那太愚蠢了。我只是四处询问,有人确实在路由器级别为出现问题的一台服务器打开了"入侵防护"。禁用它似乎可以解决问题。