Windows 上的 Apache2 无法下载大文件 (>34M)

Apache2 on Windows fails downloading large files (>34M)

我正在尝试在 Windows 上使用 PHP 设置 Apache2 网络服务器。我正在使用 EasyPHP 包来安装所需的服务器。只要我想托管更大的文件以供下载,一切都可以正常工作。大体上我的意思是 34M。当我尝试下载此类文件时,请求超时。如果我尝试下载具有相同文件名的较小文件,它会起作用。我不知道是什么原因造成的。我尝试直接在服务器上访问文件,但如果我尝试使用一些 PHP 代码获取文件,也会失败。 我在 httpd.conf 中将 LimitRequestBody 设置为 0,但我找不到任何可能对此有影响的选项。

编辑:未使用 PHP 时下载失败,我正在尝试使用直接 link 下载文件。所以我真的不认为这是与 PHP 相关的问题,而是与 apache 有关的问题。

如有任何帮助,我们将不胜感激。

我想归功于此,但已多次询问和回答。 How to increase maximum execution time in php

如果您觉得此答案有用,请标记为已回答。

我在这里找到了答案: https://serverfault.com/questions/115906/is-there-some-limit-on-a-size-of-a-file-when-force-downloading-it-with-php-on-ap

内存限制没有帮助,但使用 readfile_chunked 函数有效!也在这里谢谢你!

<?php 
function readfile_chunked ($filename) { 
  $chunksize = 1*(1024*1024); // how many bytes per chunk 
  $buffer = ''; 
  $handle = fopen($filename, 'rb'); 
  if ($handle === false) { 
    return false; 
  } 
  while (!feof($handle)) { 
    $buffer = fread($handle, $chunksize); 
    print $buffer; 
  } 
  return fclose($handle); 
} 
?>