【问题标题】:PHP Uploading with FastCGI on IIS 7.5 stalling/taking forever在 IIS 7.5 上使用 FastCGI 上传 PHP 永远停止/占用
【发布时间】: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


【解决方案1】:

Welp,那太愚蠢了。我只是四处询问,实际上有人确实在路由器级别为出现问题的一台服务器打开了“入侵防护”。禁用它似乎可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2011-07-01
    • 1970-01-01
    相关资源
    最近更新 更多